{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Logistic Regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们将建立一个逻辑回归模型来预测一个学生是否被大学录取。假设你是一个大学系的管理员，你想根据两次考试的结果来决定每个申请人的录取机会。你有以前的申请人的历史数据，你可以用它作为逻辑回归的训练集。对于每一个培训例子，你有两个考试的申请人的分数和录取决定。为了做到这一点，我们将建立一个分类模型，根据考试成绩估计入学概率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#导入四大件\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#导入数据\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Exam 1</th>\n",
       "      <th>Exam 2</th>\n",
       "      <th>Admitted</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34.623660</td>\n",
       "      <td>78.024693</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>30.286711</td>\n",
       "      <td>43.894998</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>35.847409</td>\n",
       "      <td>72.902198</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>60.182599</td>\n",
       "      <td>86.308552</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>79.032736</td>\n",
       "      <td>75.344376</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Exam 1     Exam 2  Admitted\n",
       "0  34.623660  78.024693         0\n",
       "1  30.286711  43.894998         0\n",
       "2  35.847409  72.902198         0\n",
       "3  60.182599  86.308552         1\n",
       "4  79.032736  75.344376         1"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "path='data'+os.sep+'LogiReg_data.txt'\n",
    "pdData=pd.read_csv(path,header=None,names=['Exam 1', 'Exam 2', 'Admitted'])\n",
    "pdData.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(100, 3)"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pdData.shape # 查看所有信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#通过散点图观察具体情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0,0.5,'Exam 2 Score')"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nS4bHuIAGAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdeb5208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "positive = pdData[pdData['Admitted'] == 1] # returns the subset of rows such Admitted = 1, i.e. the set of *positive* examples\n",
    "negative = pdData[pdData['Admitted'] == 0] # returns the subset of rows such Admitted = 0, i.e. the set of *negative* examples\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(10,5))\n",
    "ax.scatter(positive['Exam 1'], positive['Exam 2'], s=30, c='b', marker='o', label='Admitted')\n",
    "ax.scatter(negative['Exam 1'], negative['Exam 2'], s=30, c='r', marker='x', label='Not Admitted')\n",
    "ax.legend()\n",
    "ax.set_xlabel('Exam 1 Score')\n",
    "ax.set_ylabel('Exam 2 Score')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#利用serborn进行回归划分\n",
    "sns.set(color_codes=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAFcCAYAAAA525IcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsvXlwW+d59n2dDTuIhQQXkeICipRE\nUYu1y5a32I6dJnaTNq2X1I2bSWea+svUaVrX6byWkzSpM2lfT1p3pknTZPI2cZLar7/WyVdvsexY\n1mJJ1r5QIkVS3FcQILHjbN8fBwABEiAWAuAB+fw8GhlH5MEDkDj3ee7rvq+bkmVZBoFAIBAIS0Cv\n9AIIBAKBoH5IsCAQCARCRkiwIBAIBEJGSLAgEAgEQkZIsCAQCARCRkiwIBAIBEJG2JVeQD5MTXmX\nfQ6bzQC3O1CA1RQWta4LUO/ayLpyR61rU+u6gPzW5nCYi7Sa0rNmdxYsy6z0ElKi1nUB6l0bWVfu\nqHVtal0XoO61lYI1GywIBAKBkD0kWBAIBAIhIyRYEAgEAiEjJFgQCAQCISMkWBAIBAIhIyRYEAgE\nAiEjJFgQCAQCISMkWBAIBAIhIyRYEAgEAiEjJFgQCAQCISMkWBAIBAIhI2UZLARJWOklEAgEwpqi\nLIOFK+SGJzwLXuRXeikEAoGwJihLi3IACIsRhMUINDQHI2eAhtGs9JIIBAJh1VK2wSJGROIRCc+C\no1kYWAN0rHall0QgEAirjrJMQ6WClwTMRubgCroREkIrvRwCgUBYVRQ1WFy4cAGPP/44AGBgYACP\nPvooHnvsMTz33HOQJAkA8C//8i/47Gc/i0ceeQQXL15c9nMKsoDZiBeu4AyCJGgQCARCQShasPjh\nD3+I//W//hfC4TAA4Pnnn8dTTz2Fn//855BlGYcPH8aVK1dw6tQpvPLKK3jhhRfwjW98o2DPL8gi\n5hKChizLBTs3gUAgrDWKFiwaGxvx4osvxh9fuXIFe/fuBQDccccdOH78OM6cOYODBw+CoiisW7cO\noihiZmamoOuIB43QDAJ8AJIsFfT8BAKBsBYomsB9//33Y3h4OP5YlmVQFAUAMBqN8Hq98Pl8sFqt\n8a+JHbfb7Uue21KhA5PnPFwZYWg4HQRRUO0wdbWuC1Dv2si6cketa1PrugB1r63YlKwaiqbnNzF+\n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\n+v91J7Vglg6RyAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdf5d048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lmplot(x=\"Exam 1\", y=\"Exam 2\", hue=\"Admitted\", data=pdData);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The logistic regression"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "目标：建立分类器（求解出三个参数 $\\theta_0         \\theta_1         \\theta_2 $）\n",
    "\n",
    "\n",
    "设定阈值，根据阈值判断录取结果\n",
    "\n",
    "### 要完成的模块\n",
    "-  `sigmoid` : 映射到概率的函数\n",
    "\n",
    "-  `model` : 返回预测结果值\n",
    "\n",
    "-  `cost` : 根据参数计算损失\n",
    "\n",
    "-  `gradient` : 计算每个参数的梯度方向\n",
    "\n",
    "-  `descent` : 进行参数更新\n",
    "\n",
    "-  `accuracy`: 计算精度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  `sigmoid` 函数\n",
    "\n",
    "$$\n",
    "g(z) = \\frac{1}{1+e^{-z}}   \n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 定义sigmoid函数[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def sigmoid(z):\n",
    "    return 1/(1+np.exp(-z))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0xdf54c18>]"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\neKIkaerUqVq4cGGPdR555BG99NJL8ng8uueee1RSUmIgae9aWlq0aNEiBQIBdXR06O6779a0adN6\nrLN06VK98847ysrKkiQ9+uijys7ONhH3kGzb1uLFi7VlyxZ5vV4tXbpUY8aMiS1ftWqVnn76aXk8\nHt1000264IILDKY9vI6ODt1zzz2qq6tTOBzWTTfdpLKystjyFStW6JlnnlF+fr4k6Re/+IXGjh1r\nKm6fLr/88tjPyejRo3XffffFliXLcyJJ//mf/6n/+q//kiS1t7fr/fff14YNG5STkyMp8V8f3aqr\nq/Xb3/5WTz31lHbs2KG7775blmXplFNO0c9//nO5XPu2Udva2rRo0SJ9+eWXysrK0q9//evYz91x\nc5LEL3/5S2fWrFnObbfdFpv3zW9+09mxY4dj27Zz3XXXObW1tQfd59lnn3Ucx3GeeOIJZ8WKFQMZ\n+ahcf/31TkVFxUHzL774Yse2bQOJjs727dudG2644bDLa2trnQULFji2bTt1dXXOt7/97QFMd+Qe\neuih2M/Jtm3bnMsvv/ygdebOnet8+eWXA5zsyD3//PPOXXfd5TiO47z77rvOjTfeGFv2xRdfOJde\neqnT3t7uNDc3x24nomeeecZZunSp4ziOs3fvXmfGjBk9li9cuNDZuHGjgWRHr62tzfnWt751yGXJ\n9JwcaPHixc7TTz/dY16ivz4cx3GefPJJ59JLL3WuvPJKx3Ec54YbbnBef/11x3Ec52c/+5mzevXq\nHuv/67/+q/P73//ecRzH+dvf/ub88pe/jFuWpNkdXVpaqsWLF8emA4GAwuGwiouLZVmWzjvvPL32\n2ms97lNZWanp06dLks4//3y9+uqrAxn5iK1evVo5OTmxrN327Nmj5uZm3XjjjZo3b55efPFFQwn7\ntmnTJu3evVsLFizQD3/4Q3300Uc9lldWVuq8886TZVkqLCxUNBrV3r17DaU9vO9///uaO3euJCka\njSo9Pb3Hctu2tWPHDt17772aO3eunnnmGRMxe7X/z/3UqVNVW1sbW1ZTU6Np06bJ6/UqOztbxcXF\n2rx5s6movZo9e7ZuvfXW2LTb7e6xfNOmTXryySc1b948PfHEEwMd76hs3rxZoVBI11xzja6++mpV\nVVXFliXTc7K/jRs3auvWrZozZ05sXjK8PiSpuLhYDz/8cGx606ZN+upXvyrp0F1xYJcc2DXHI+F2\nR//Hf/yH/u3f/q3HvGXLlukb3/iG3njjjdi8QCAgv98fm87KytKnn37a436BQCC2GyQrK0stLS39\nmLx3hxtXSUmJnnjiCT344IMH3aejoyP2om1qatK8efNUUlKioUOHDlTsQzrUWO69915df/31uvji\ni/X2229r0aJFevbZZ2PLA4GAcnNzY9Pdz0fcdukcg96ek/r6ei1atEj33HNPj+Wtra36h3/4B/3g\nBz9QNBrV1VdfrcmTJ2vChAkDGb1XB7423G63IpGIPB5Pj9eE1Pk8BAIBEzH71L07MxAI6JZbbtFt\nt93WY/kll1yi+fPny+/36+abb9aLL76YsLtxMzIydO211+rKK6/U9u3b9cMf/lDPPfdc0j0n+3vi\niSf04x//uMe8ZHh9SNKsWbP02WefxaYdx5FlWZIO3RX92SUJV8JXXnmlrrzyyj7X8/v9CgaDselg\nMBh7T+LAdTIyMg65fCAdblxbt25VTk5Oj/fsug0bNkxz586Vx+PR0KFDddppp+njjz82XsKHGkso\nFIptqZx55pnavXt3jx/sQz1fpt8nOtxzsmXLFt1xxx268847Y38dd8vMzNTVV18d+2zBWWedpc2b\nNyfUL5kD/69t25bH4znkskR4Hnqza9cu/fjHP9b8+fN12WWXxeY7jqPvfe97sewzZszQe++9l7Al\nfNJJJ2nMmDGyLEsnnXSScnNzVV9fr1GjRiXdcyJ1foblo48+0llnndVjfjK8Pg5l//d/e+uSwy0/\nru8dt0caYH6/X2lpafrkk0/kOI5eeeUVnXnmmT3WKS0t1fr16yVJFRUVOuOMM0xE7dWrr76q888/\n/7DLuv/6DwaD+vDDDxP2gyePPPJIbKty8+bNKiwsjBWw1PlcvPLKK7JtWzt37pRt20a3gg9n69at\nuvXWW/XAAw9oxowZBy3fvn275s+fr2g0qo6ODr3zzjuaNGmSgaSHV1paqoqKCkmdH14cP358bFlJ\nSYkqKyvV3t6ulpYWbdu2rcfyRLJnzx5dc801WrRokb7zne/0WBYIBHTppZcqGAzKcRy98cYbmjx5\nsqGkfXvmmWe0fPlySdLu3bsVCARUUFAgKbmek25vvfWWzjnnnIPmJ8Pr41AmTpwY29NaUVExoF2S\ncFvCR+MXv/iFfvrTnyoajeq8887TlClT1NjYqH/6p3/SI488optuukl33XWXVq1apby8vNinqhPJ\nxx9/rHPPPbfHvPvvv1+zZ8/WjBkz9Morr+iqq66Sy+XSHXfckZDFJUnXX3+9Fi1apPXr18vtdsc+\n+dk9lpKSEp155pmaM2eObNvWvffeazjxoT3wwAMKh8P61a9+Janzj73HHntMK1asUHFxscrKynTZ\nZZfpqquuUlpamr71rW/plFNOMZy6p/Lycm3YsEFz586V4zhatmxZj/wLFizQ/Pnz5TiObr/99oPe\n904Ujz/+uJqbm/Xoo4/q0UcfldS59yIUCmnOnDm6/fbbdfXVV8vr9erss88+5B9NieI73/mO/vEf\n/1Hz5s2TZVlatmyZnnrqqaR7Trp9/PHHGj16dGw6mV4fh3LXXXfpZz/7mR588EGNHTtWs2bNkiRd\nc801evzxxzVv3jzdddddmjdvntLS0uLaJVxFCQAAQ5J2dzQAAMmOEgYAwBBKGAAAQyhhAAAMoYQB\nADCEEgYAwBBKGAAAQyhhAAAM+f8BoX6awlbKO3oAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdf0f358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#测试sigmoid函数\n",
    "num=np.arange(-10,11,1)\n",
    "figure,ax=plt.subplots(figsize=(8,6))\n",
    "ax.plot(num,sigmoid(num),color='r')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Sigmoid\n",
    "* $g:\\mathbb{R} \\to [0,1]$\n",
    "* $g(0)=0.5$\n",
    "* $g(- \\infty)=0$\n",
    "* $g(+ \\infty)=1$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 创建目标函数[2]\n",
    "$$\n",
    "\\begin{array}{ccc}\n",
    "\\begin{pmatrix}\\theta_{0} & \\theta_{1} & \\theta_{2}\\end{pmatrix} & \\times & \\begin{pmatrix}1\\\\\n",
    "x_{1}\\\\\n",
    "x_{2}\n",
    "\\end{pmatrix}\\end{array}=\\theta_{0}+\\theta_{1}x_{1}+\\theta_{2}x_{2}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def model(X, theta):\n",
    "    return sigmoid(np.dot(X, theta.T))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#为了能够进行转为矩阵操作我们需要在增加一个【1,1,1,1,..1】特征数据最前面"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "pdData.insert(0,'Ones',1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Ones</th>\n",
       "      <th>Exam 1</th>\n",
       "      <th>Exam 2</th>\n",
       "      <th>Admitted</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>34.623660</td>\n",
       "      <td>78.024693</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>30.286711</td>\n",
       "      <td>43.894998</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>35.847409</td>\n",
       "      <td>72.902198</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>60.182599</td>\n",
       "      <td>86.308552</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>79.032736</td>\n",
       "      <td>75.344376</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Ones     Exam 1     Exam 2  Admitted\n",
       "0     1  34.623660  78.024693         0\n",
       "1     1  30.286711  43.894998         0\n",
       "2     1  35.847409  72.902198         0\n",
       "3     1  60.182599  86.308552         1\n",
       "4     1  79.032736  75.344376         1"
      ]
     },
     "execution_count": 128,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pdData.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#构建X、Y和Theta两个向量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "orig_data = pdData.as_matrix() #因为后续的运算需要利用np.dot(x,y)所以讲dataframe转为ndarray格式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "numpy.ndarray"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(orig_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "cols=orig_data.shape[1]\n",
    "X = orig_data[:,0:cols-1]\n",
    "y = orig_data[:,cols-1:cols]\n",
    "#构建theta值利用np.zears()进行占位\n",
    "theta=np.zeros([1,3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[  1.        ,  34.62365962,  78.02469282],\n",
       "       [  1.        ,  30.28671077,  43.89499752],\n",
       "       [  1.        ,  35.84740877,  72.90219803],\n",
       "       [  1.        ,  60.18259939,  86.3085521 ],\n",
       "       [  1.        ,  79.03273605,  75.34437644]])"
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X[:5,:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.],\n",
       "       [ 0.],\n",
       "       [ 0.],\n",
       "       [ 1.],\n",
       "       [ 1.]])"
      ]
     },
     "execution_count": 134,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y[:5,:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.,  0.,  0.]])"
      ]
     },
     "execution_count": 135,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "theta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((100, 3), (100, 1), (1, 3))"
      ]
     },
     "execution_count": 136,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape,y.shape,theta.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 损失函数[3]\n",
    "将对数似然函数去负号\n",
    "\n",
    "$$\n",
    "D(h_\\theta(x), y) = -y\\log(h_\\theta(x)) - (1-y)\\log(1-h_\\theta(x))\n",
    "$$\n",
    "#### 求平均损失\n",
    "$$\n",
    "J(\\theta)=\\frac{1}{n}\\sum_{i=1}^{n} D(h_\\theta(x_i), y_i)\n",
    "$$\n",
    "### 这样操作符合公式推导"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def cost(X, y, theta):\n",
    "    left = np.multiply(-y, np.log(model(X, theta)))\n",
    "    right = np.multiply(1 - y, np.log(1 - model(X, theta)))\n",
    "    return np.sum(left - right) / (len(X))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.69314718055994529"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cost(X,y,theta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 计算梯度[4]\n",
    "\n",
    "\n",
    "$$\n",
    "\\frac{\\partial J}{\\partial \\theta_j}=-\\frac{1}{m}\\sum_{i=1}^n (y_i - h_\\theta (x_i))x_{ij}\n",
    "$$\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def gradient(X, y, theta):\n",
    "    grad = np.zeros(theta.shape)#进行占位\n",
    "    error = (model(X, theta)- y).ravel() #将矩阵降维数组\n",
    "    for j in range(len(theta.ravel())): #for each parmeter\n",
    "        term = np.multiply(error, X[:,j])\n",
    "        grad[0, j] = np.sum(term) / len(X)\n",
    "    \n",
    "    return grad\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ -0.1       , -12.00921659, -11.26284221]])"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gradient(X,y,theta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### Gradient descent"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "比较3中不同梯度下降方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "STOP_ITER = 0\n",
    "STOP_COST = 1\n",
    "STOP_GRAD = 2\n",
    "#在无监督学习的情况下学习停止策略\n",
    "def stopCriterion(type, value, threshold):\n",
    "    #设定三种不同的停止策略\n",
    "    if type == STOP_ITER:        return value > threshold #value代表次数，大于多少次就停止\n",
    "    elif type == STOP_COST:      return abs(value[-1]-value[-2]) < threshold #根据最后一次损失值判断小于阀值可以停止\n",
    "    elif type == STOP_GRAD:      return np.linalg.norm(value) < threshold #根据最后一次梯度下降范数小于阀值就可以停止"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### np.linalg.norm\n",
    "* 首先需要注意的是范数是对向量（或者矩阵）的度量，是一个标量（scalar）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#洗牌\n",
    "def shuffleData(data):\n",
    "    np.random.shuffle(data)\n",
    "    cols = data.shape[1]\n",
    "    X = data[:, 0:cols-1]\n",
    "    y = data[:, cols-1:]\n",
    "    return X, y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[  1.          42.26170081  87.10385094]\n",
      " [  1.          64.03932042  78.03168802]\n",
      " [  1.          61.10666454  96.51142588]\n",
      " [  1.          69.07014406  52.74046973]\n",
      " [  1.          68.46852179  85.5943071 ]]\n",
      "[[ 1.]\n",
      " [ 1.]\n",
      " [ 1.]\n",
      " [ 1.]\n",
      " [ 1.]]\n"
     ]
    }
   ],
   "source": [
    "X,y=shuffleData(orig_data)\n",
    "print(X[:5])\n",
    "print(y[:5])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 构造梯度下降方法[4.1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"img/gradient.png\"/>\n",
    "\n",
    "### 经典逻辑回归函数封装"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import time\n",
    "#以下是参数介绍\n",
    "#data:ndarry格式的特征集\n",
    "#theata: 梯度率\n",
    "#batchSize：每次提取样本个数\n",
    "#stopType：停止策略\n",
    "#thresh:停止策略设置的阀值\n",
    "#alpha：学习率\n",
    "#n: 训练样本数【批量梯度下降，随机梯度下降，小批量梯度下降】\n",
    "def descent(data, theta, batchSize, stopType, thresh, alpha):\n",
    " \n",
    "    #初始化数据\n",
    "    init_time = time.time()\n",
    "    i = 0 # 迭代次数\n",
    "    k = 0 # batch\n",
    "    X, y = shuffleData(data)\n",
    "    grad = np.zeros(theta.shape) #初始化梯度数据\n",
    "    costs = [cost(X, y, theta)]  #损失值\n",
    "    \n",
    "    #梯度下降求解\n",
    "    while True:\n",
    "        grad = gradient(X[k:k+batchSize], y[k:k+batchSize], theta)\n",
    "        k += batchSize #取batch数量个数据\n",
    "        if k >= n: #大于样本最大值就需要重新洗牌\n",
    "            k = 0 \n",
    "            X, y = shuffleData(data) #重新洗牌\n",
    "            \n",
    "            \n",
    "        theta = theta - alpha*grad # 参数更新\n",
    "        \n",
    "        costs.append(cost(X, y, theta)) # 计算新的损失\n",
    "        i += 1 \n",
    "        \n",
    "        #学习停止策略赋值\n",
    "        if stopType == STOP_ITER:       value = i\n",
    "        elif stopType == STOP_COST:     value = costs\n",
    "        elif stopType == STOP_GRAD:     value = grad\n",
    "        if stopCriterion(stopType, value, thresh): break\n",
    "    \n",
    "    return theta, i-1, costs, grad, time.time() - init_time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([[-0.00027127,  0.00705232,  0.00376711]]),\n",
       " 5000,\n",
       " [0.69314718055994529,\n",
       "  0.69287640380754278,\n",
       "  0.69260684886810453,\n",
       "  0.69233851022020476,\n",
       "  0.69207138236569388,\n",
       "  0.69180545982962915,\n",
       "  0.69154073716020181,\n",
       "  0.69127720892866606,\n",
       "  0.69101486972926851,\n",
       "  0.69075371417917542,\n",
       "  0.69049373691840221,\n",
       "  0.69023493260974011,\n",
       "  0.6899772959386864,\n",
       "  0.68972082161337045,\n",
       "  0.6894655043644824,\n",
       "  0.68921133894520115,\n",
       "  0.68895832013112168,\n",
       "  0.68870644272018355,\n",
       "  0.68845570153259628,\n",
       "  0.68820609141077016,\n",
       "  0.68795760721924037,\n",
       "  0.68771024384459689,\n",
       "  0.68746399619540977,\n",
       "  0.68721885920215786,\n",
       "  0.68697482781715524,\n",
       "  0.68673189701447857,\n",
       "  0.68649006178989369,\n",
       "  0.68624931716078408,\n",
       "  0.68600965816607617,\n",
       "  0.68577107986616748,\n",
       "  0.68553357734285281,\n",
       "  0.68529714569925237,\n",
       "  0.68506178005973739,\n",
       "  0.68482747556985757,\n",
       "  0.68459422739626807,\n",
       "  0.68436203072665691,\n",
       "  0.68413088076967032,\n",
       "  0.68390077275484218,\n",
       "  0.68367170193251814,\n",
       "  0.6834436635737845,\n",
       "  0.68321665297039436,\n",
       "  0.68299066543469511,\n",
       "  0.68276569629955419,\n",
       "  0.68254174091828868,\n",
       "  0.68231879466458845,\n",
       "  0.68209685293244748,\n",
       "  0.68187591113608748,\n",
       "  0.68165596470988732,\n",
       "  0.68143700910830907,\n",
       "  0.68121903980582577,\n",
       "  0.68100205229684785,\n",
       "  0.68078604209565252,\n",
       "  0.68057100473630827,\n",
       "  0.68035693577260492,\n",
       "  0.68014383077797935,\n",
       "  0.67993168534544379,\n",
       "  0.67972049508751409,\n",
       "  0.6795102556361361,\n",
       "  0.67930096264261453,\n",
       "  0.67909261177754043,\n",
       "  0.67888519873071829,\n",
       "  0.67867871921109602,\n",
       "  0.67847316894669119,\n",
       "  0.67826854368452016,\n",
       "  0.6780648391905264,\n",
       "  0.67786205124950782,\n",
       "  0.67766017566504655,\n",
       "  0.67745920825943684,\n",
       "  0.67725914487361394,\n",
       "  0.67705998136708245,\n",
       "  0.67686171361784497,\n",
       "  0.6766643375223329,\n",
       "  0.67646784899533263,\n",
       "  0.67627224396991692,\n",
       "  0.67607751839737384,\n",
       "  0.67588366824713519,\n",
       "  0.67569068950670685,\n",
       "  0.6754985781815982,\n",
       "  0.67530733029525192,\n",
       "  0.67511694188897353,\n",
       "  0.67492740902186255,\n",
       "  0.6747387277707404,\n",
       "  0.67455089423008285,\n",
       "  0.67436390451195038,\n",
       "  0.67417775474591624,\n",
       "  0.67399244107899936,\n",
       "  0.67380795967559526,\n",
       "  0.6736243067174047,\n",
       "  0.67344147840336799,\n",
       "  0.67325947094959337,\n",
       "  0.67307828058928942,\n",
       "  0.67289790357269708,\n",
       "  0.67271833616702026,\n",
       "  0.67253957465635839,\n",
       "  0.67236161534163796,\n",
       "  0.67218445454054476,\n",
       "  0.67200808858745587,\n",
       "  0.67183251383337239,\n",
       "  0.67165772664585088,\n",
       "  0.67148372340893825,\n",
       "  0.6713105005231027,\n",
       "  0.67113805440516683,\n",
       "  0.67096638148824184,\n",
       "  0.6707954782216593,\n",
       "  0.67062534107090688,\n",
       "  0.67045596651755968,\n",
       "  0.67028735105921511,\n",
       "  0.67011949120942671,\n",
       "  0.66995238349763886,\n",
       "  0.6697860244691195,\n",
       "  0.66962041068489686,\n",
       "  0.66945553872169161,\n",
       "  0.66929140517185359,\n",
       "  0.66912800664329553,\n",
       "  0.66896533975942918,\n",
       "  0.66880340115910031,\n",
       "  0.66864218749652349,\n",
       "  0.66848169544121827,\n",
       "  0.66832192167794557,\n",
       "  0.66816286290664284,\n",
       "  0.66800451584236109,\n",
       "  0.66784687721519975,\n",
       "  0.66768994377024515,\n",
       "  0.66753371226750546,\n",
       "  0.6673781794818493,\n",
       "  0.66722334220294111,\n",
       "  0.6670691972351801,\n",
       "  0.66691574139763621,\n",
       "  0.66676297152398856,\n",
       "  0.66661088446246353,\n",
       "  0.66645947707577147,\n",
       "  0.66630874624104652,\n",
       "  0.66615868884978335,\n",
       "  0.66600930180777762,\n",
       "  0.66586058203506238,\n",
       "  0.66571252646584977,\n",
       "  0.66556513204846668,\n",
       "  0.6654183957452976,\n",
       "  0.66527231453272195,\n",
       "  0.66512688540105402,\n",
       "  0.66498210535448365,\n",
       "  0.66483797141101508,\n",
       "  0.66469448060240832,\n",
       "  0.66455162997411887,\n",
       "  0.66440941658523878,\n",
       "  0.66426783750843721,\n",
       "  0.66412688982990109,\n",
       "  0.66398657064927735,\n",
       "  0.66384687707961321,\n",
       "  0.66370780624729808,\n",
       "  0.66356935529200622,\n",
       "  0.66343152136663708,\n",
       "  0.66329430163725878,\n",
       "  0.66315769328305008,\n",
       "  0.66302169349624263,\n",
       "  0.6628862994820639,\n",
       "  0.66275150845868025,\n",
       "  0.66261731765713971,\n",
       "  0.66248372432131619,\n",
       "  0.66235072570785125,\n",
       "  0.66221831908609952,\n",
       "  0.66208650173807226,\n",
       "  0.66195527095838047,\n",
       "  0.66182462405418008,\n",
       "  0.66169455834511637,\n",
       "  0.66156507116326813,\n",
       "  0.66143615985309323,\n",
       "  0.66130782177137315,\n",
       "  0.66118005428715843,\n",
       "  0.66105285478171438,\n",
       "  0.66092622064846562,\n",
       "  0.66080014929294384,\n",
       "  0.66067463813273175,\n",
       "  0.66054968459741148,\n",
       "  0.6604252861285087,\n",
       "  0.66030144017944126,\n",
       "  0.66017814421546395,\n",
       "  0.66005539571361793,\n",
       "  0.65993319216267654,\n",
       "  0.65981153106309209,\n",
       "  0.65969040992694472,\n",
       "  0.65956982627788951,\n",
       "  0.65944977765110524,\n",
       "  0.6593302615932406,\n",
       "  0.65921127566236537,\n",
       "  0.65909281742791637,\n",
       "  0.65897488447064811,\n",
       "  0.65885747438258091,\n",
       "  0.65874058476694941,\n",
       "  0.65862421323815312,\n",
       "  0.65850835742170577,\n",
       "  0.65839301495418379,\n",
       "  0.65827818348317801,\n",
       "  0.6581638606672422,\n",
       "  0.65805004417584412,\n",
       "  0.65793673168931643,\n",
       "  0.65782392089880626,\n",
       "  0.65771160950622642,\n",
       "  0.65759979522420753,\n",
       "  0.65748847577604763,\n",
       "  0.65737764889566497,\n",
       "  0.65726731232754843,\n",
       "  0.65715746382671103,\n",
       "  0.65704810115863954,\n",
       "  0.65693922209924893,\n",
       "  0.65683082443483354,\n",
       "  0.65672290596201988,\n",
       "  0.6566154644877199,\n",
       "  0.65650849782908272,\n",
       "  0.65640200381344882,\n",
       "  0.65629598027830349,\n",
       "  0.65619042507122971,\n",
       "  0.65608533604986163,\n",
       "  0.65598071108183931,\n",
       "  0.65587654804476248,\n",
       "  0.65577284482614406,\n",
       "  0.65566959932336577,\n",
       "  0.65556680944363199,\n",
       "  0.65546447310392453,\n",
       "  0.65536258823095839,\n",
       "  0.65526115276113572,\n",
       "  0.6551601646405022,\n",
       "  0.65505962182470223,\n",
       "  0.65495952227893484,\n",
       "  0.65485986397790863,\n",
       "  0.65476064490579955,\n",
       "  0.65466186305620566,\n",
       "  0.65456351643210464,\n",
       "  0.65446560304580914,\n",
       "  0.65436812091892493,\n",
       "  0.65427106808230751,\n",
       "  0.65417444257601842,\n",
       "  0.65407824244928403,\n",
       "  0.65398246576045183,\n",
       "  0.65388711057694848,\n",
       "  0.65379217497523845,\n",
       "  0.65369765704078031,\n",
       "  0.65360355486798738,\n",
       "  0.65350986656018373,\n",
       "  0.65341659022956478,\n",
       "  0.65332372399715422,\n",
       "  0.65323126599276482,\n",
       "  0.65313921435495548,\n",
       "  0.65304756723099255,\n",
       "  0.65295632277680826,\n",
       "  0.65286547915695958,\n",
       "  0.65277503454458985,\n",
       "  0.65268498712138689,\n",
       "  0.65259533507754508,\n",
       "  0.65250607661172355,\n",
       "  0.65241720993100794,\n",
       "  0.6523287332508716,\n",
       "  0.65224064479513488,\n",
       "  0.65215294279592673,\n",
       "  0.65206562549364677,\n",
       "  0.65197869113692519,\n",
       "  0.65189213798258494,\n",
       "  0.65180596429560367,\n",
       "  0.6517201683490752,\n",
       "  0.65163474842417146,\n",
       "  0.6515497028101046,\n",
       "  0.65146502980408982,\n",
       "  0.65138072771130662,\n",
       "  0.65129679484486391,\n",
       "  0.65121322952575955,\n",
       "  0.65113003008284598,\n",
       "  0.65104719485279228,\n",
       "  0.65096472218004697,\n",
       "  0.65088261041680329,\n",
       "  0.65080085792296027,\n",
       "  0.65071946306608897,\n",
       "  0.65063842422139473,\n",
       "  0.65055773977168196,\n",
       "  0.65047740810731791,\n",
       "  0.65039742762619868,\n",
       "  0.65031779673371115,\n",
       "  0.65023851384270015,\n",
       "  0.65015957737343211,\n",
       "  0.65008098575355999,\n",
       "  0.65000273741808923,\n",
       "  0.64992483080934316,\n",
       "  0.64984726437692697,\n",
       "  0.64977003657769539,\n",
       "  0.64969314587571736,\n",
       "  0.64961659074224221,\n",
       "  0.64954036965566575,\n",
       "  0.64946448110149702,\n",
       "  0.64938892357232381,\n",
       "  0.64931369556778007,\n",
       "  0.64923879559451236,\n",
       "  0.64916422216614622,\n",
       "  0.64908997380325462,\n",
       "  0.64901604903332311,\n",
       "  0.64894244639071919,\n",
       "  0.64886916441665787,\n",
       "  0.64879620165917118,\n",
       "  0.64872355667307435,\n",
       "  0.64865122801993436,\n",
       "  0.64857921426803888,\n",
       "  0.64850751399236262,\n",
       "  0.6484361257745368,\n",
       "  0.64836504820281804,\n",
       "  0.64829427987205623,\n",
       "  0.64822381938366291,\n",
       "  0.64815366534558194,\n",
       "  0.64808381637225632,\n",
       "  0.64801427108459964,\n",
       "  0.64794502810996324,\n",
       "  0.64787608608210756,\n",
       "  0.6478074436411706,\n",
       "  0.64773909943363772,\n",
       "  0.64767105211231257,\n",
       "  0.64760330033628621,\n",
       "  0.64753584277090692,\n",
       "  0.64746867808775188,\n",
       "  0.64740180496459643,\n",
       "  0.6473352220853853,\n",
       "  0.64726892814020265,\n",
       "  0.64720292182524386,\n",
       "  0.647137201842786,\n",
       "  0.64707176690115831,\n",
       "  0.64700661571471529,\n",
       "  0.64694174700380613,\n",
       "  0.64687715949474756,\n",
       "  0.64681285191979399,\n",
       "  0.64674882301711167,\n",
       "  0.64668507153074828,\n",
       "  0.64662159621060655,\n",
       "  0.64655839581241537,\n",
       "  0.6464954690977025,\n",
       "  0.6464328148337678,\n",
       "  0.64637043179365439,\n",
       "  0.64630831875612182,\n",
       "  0.64624647450562012,\n",
       "  0.64618489783226041,\n",
       "  0.64612358753179022,\n",
       "  0.64606254240556549,\n",
       "  0.64600176126052378,\n",
       "  0.64594124290915844,\n",
       "  0.64588098616949197,\n",
       "  0.64582098986504921,\n",
       "  0.64576125282483132,\n",
       "  0.64570177388329086,\n",
       "  0.64564255188030362,\n",
       "  0.64558358566114515,\n",
       "  0.64552487407646342,\n",
       "  0.64546641598225407,\n",
       "  0.64540821023983463,\n",
       "  0.64535025571581928,\n",
       "  0.64529255128209362,\n",
       "  0.64523509581578931,\n",
       "  0.64517788819926014,\n",
       "  0.64512092732005555,\n",
       "  0.64506421207089704,\n",
       "  0.64500774134965344,\n",
       "  0.64495151405931583,\n",
       "  0.64489552910797332,\n",
       "  0.64483978540878983,\n",
       "  0.64478428187997794,\n",
       "  0.64472901744477651,\n",
       "  0.64467399103142642,\n",
       "  0.64461920157314589,\n",
       "  0.64456464800810775,\n",
       "  0.64451032927941543,\n",
       "  0.6444562443350792,\n",
       "  0.64440239212799322,\n",
       "  0.64434877161591242,\n",
       "  0.64429538176142875,\n",
       "  0.64424222153194843,\n",
       "  0.64418928989966928,\n",
       "  0.64413658584155742,\n",
       "  0.64408410833932495,\n",
       "  0.64403185637940663,\n",
       "  0.64397982895293859,\n",
       "  0.64392802505573499,\n",
       "  0.64387644368826569,\n",
       "  0.64382508385563464,\n",
       "  0.64377394456755754,\n",
       "  0.64372302483833943,\n",
       "  0.64367232368685379,\n",
       "  0.64362184013651969,\n",
       "  0.64357157321528125,\n",
       "  0.64352152195558443,\n",
       "  0.64347168539435784,\n",
       "  0.64342206257298928,\n",
       "  0.6433726525373058,\n",
       "  0.64332345433755167,\n",
       "  0.64327446702836832,\n",
       "  0.64322568966877269,\n",
       "  0.64317712132213611,\n",
       "  0.64312876105616434,\n",
       "  0.6430806079428768,\n",
       "  0.64303266105858514,\n",
       "  0.64298491948387371,\n",
       "  0.642937382303579,\n",
       "  0.64289004860676924,\n",
       "  0.64284291748672384,\n",
       "  0.64279598804091509,\n",
       "  0.64274925937098493,\n",
       "  0.64270273058272864,\n",
       "  0.64265640078607245,\n",
       "  0.64261026909505559,\n",
       "  0.64256433462780949,\n",
       "  0.64251859650653875,\n",
       "  0.64247305385750186,\n",
       "  0.64242770581099184,\n",
       "  0.64238255150131651,\n",
       "  0.64233759006678037,\n",
       "  0.64229282064966509,\n",
       "  0.64224824239621003,\n",
       "  0.64220385445659356,\n",
       "  0.64215965598491531,\n",
       "  0.64211564613917682,\n",
       "  0.6420718240812624,\n",
       "  0.64202818897692138,\n",
       "  0.64198473999574934,\n",
       "  0.64194147631117016,\n",
       "  0.64189839710041785,\n",
       "  0.64185550154451765,\n",
       "  0.64181278882826842,\n",
       "  0.64177025814022526,\n",
       "  0.64172790867268081,\n",
       "  0.64168573962164777,\n",
       "  0.64164375018684117,\n",
       "  0.6416019395716609,\n",
       "  0.64156030698317412,\n",
       "  0.64151885163209743,\n",
       "  0.64147757273278017,\n",
       "  0.64143646950318656,\n",
       "  0.64139554116487874,\n",
       "  0.64135478694299985,\n",
       "  0.64131420606625678,\n",
       "  0.64127379776690263,\n",
       "  0.64123356128072162,\n",
       "  0.6411934958470098,\n",
       "  0.64115360070856098,\n",
       "  0.64111387511164764,\n",
       "  0.64107431830600647,\n",
       "  0.64103492954482033,\n",
       "  0.64099570808470308,\n",
       "  0.64095665318568218,\n",
       "  0.64091776411118351,\n",
       "  0.64087904012801433,\n",
       "  0.64084048050634768,\n",
       "  0.64080208451970633,\n",
       "  0.64076385144494707,\n",
       "  0.64072578056224438,\n",
       "  0.64068787115507508,\n",
       "  0.64065012251020192,\n",
       "  0.6406125339176596,\n",
       "  0.64057510467073742,\n",
       "  0.64053783406596498,\n",
       "  0.64050072140309566,\n",
       "  0.64046376598509303,\n",
       "  0.64042696711811398,\n",
       "  0.64039032411149488,\n",
       "  0.64035383627773479,\n",
       "  0.64031750293248269,\n",
       "  0.64028132339452015,\n",
       "  0.64024529698574861,\n",
       "  0.64020942303117279,\n",
       "  0.64017370085888781,\n",
       "  0.64013812980006246,\n",
       "  0.64010270918892676,\n",
       "  0.64006743836275504,\n",
       "  0.6400323166618539,\n",
       "  0.63999734342954628,\n",
       "  0.63996251801215776,\n",
       "  0.63992783975900236,\n",
       "  0.63989330802236777,\n",
       "  0.63985892215750217,\n",
       "  0.63982468152259953,\n",
       "  0.63979058547878576,\n",
       "  0.63975663339010513,\n",
       "  0.63972282462350594,\n",
       "  0.63968915854882746,\n",
       "  0.6396556345387856,\n",
       "  0.63962225196895939,\n",
       "  0.63958901021777803,\n",
       "  0.63955590866650613,\n",
       "  0.63952294669923182,\n",
       "  0.6394901237028523,\n",
       "  0.63945743906706087,\n",
       "  0.63942489218433396,\n",
       "  0.63939248244991742,\n",
       "  0.63936020926181403,\n",
       "  0.6393280720207698,\n",
       "  0.63929607013026146,\n",
       "  0.63926420299648368,\n",
       "  0.6392324700283355,\n",
       "  0.63920087063740849,\n",
       "  0.6391694042379733,\n",
       "  0.639138070246967,\n",
       "  0.63910686808398121,\n",
       "  0.63907579717124863,\n",
       "  0.63904485693363111,\n",
       "  0.63901404679860763,\n",
       "  0.63898336619626039,\n",
       "  0.63895281455926423,\n",
       "  0.63892239132287365,\n",
       "  0.63889209592491047,\n",
       "  0.63886192780575224,\n",
       "  0.63883188640831956,\n",
       "  0.63880197117806414,\n",
       "  0.63877218156295756,\n",
       "  0.63874251701347884,\n",
       "  0.63871297698260276,\n",
       "  0.63868356092578715,\n",
       "  0.63865426830096295,\n",
       "  0.63862509856852157,\n",
       "  0.6385960511913028,\n",
       "  0.63856712563458418,\n",
       "  0.63853832136606914,\n",
       "  0.63850963785587533,\n",
       "  0.63848107457652359,\n",
       "  0.63845263100292671,\n",
       "  0.63842430661237781,\n",
       "  0.63839610088453891,\n",
       "  0.63836801330143078,\n",
       "  0.63834004334742089,\n",
       "  0.63831219050921262,\n",
       "  0.63828445427583413,\n",
       "  0.6382568341386281,\n",
       "  0.63822932959123957,\n",
       "  0.63820194012960674,\n",
       "  0.63817466525194877,\n",
       "  0.63814750445875579,\n",
       "  0.63812045725277766,\n",
       "  0.63809352313901391,\n",
       "  0.63806670162470325,\n",
       "  0.63803999221931229,\n",
       "  0.63801339443452554,\n",
       "  0.63798690778423517,\n",
       "  0.6379605317845306,\n",
       "  0.63793426595368752,\n",
       "  0.63790810981215817,\n",
       "  0.63788206288256166,\n",
       "  0.63785612468967223,\n",
       "  0.63783029476041075,\n",
       "  0.63780457262383383,\n",
       "  0.63777895781112348,\n",
       "  0.63775344985557869,\n",
       "  0.63772804829260321,\n",
       "  0.63770275265969711,\n",
       "  0.63767756249644758,\n",
       "  0.63765247734451713,\n",
       "  0.63762749674763541,\n",
       "  0.63760262025158931,\n",
       "  0.63757784740421275,\n",
       "  0.63755317775537756,\n",
       "  0.63752861085698387,\n",
       "  0.63750414626295049,\n",
       "  0.6374797835292052,\n",
       "  0.6374555222136763,\n",
       "  0.6374313618762818,\n",
       "  0.63740730207892127,\n",
       "  0.63738334238546634,\n",
       "  0.637359482361751,\n",
       "  0.63733572157556262,\n",
       "  0.63731205959663317,\n",
       "  0.63728849599662973,\n",
       "  0.63726503034914561,\n",
       "  0.63724166222969092,\n",
       "  0.63721839121568469,\n",
       "  0.63719521688644454,\n",
       "  0.63717213882317902,\n",
       "  0.63714915660897764,\n",
       "  0.63712626982880316,\n",
       "  0.6371034780694822,\n",
       "  0.63708078091969655,\n",
       "  0.6370581779699751,\n",
       "  0.63703566881268403,\n",
       "  0.63701325304201961,\n",
       "  0.63699093025399867,\n",
       "  0.63696870004645045,\n",
       "  0.63694656201900823,\n",
       "  0.6369245157731005,\n",
       "  0.63690256091194353,\n",
       "  0.63688069704053163,\n",
       "  0.63685892376563014,\n",
       "  0.63683724069576642,\n",
       "  0.63681564744122177,\n",
       "  0.63679414361402364,\n",
       "  0.63677272882793701,\n",
       "  0.63675140269845654,\n",
       "  0.63673016484279821,\n",
       "  0.63670901487989195,\n",
       "  0.63668795243037291,\n",
       "  0.63666697711657416,\n",
       "  0.63664608856251792,\n",
       "  0.63662528639390914,\n",
       "  0.636604570238126,\n",
       "  0.63658393972421334,\n",
       "  0.63656339448287402,\n",
       "  0.63654293414646224,\n",
       "  0.6365225583489752,\n",
       "  0.63650226672604493,\n",
       "  0.63648205891493215,\n",
       "  0.63646193455451727,\n",
       "  0.63644189328529366,\n",
       "  0.63642193474935982,\n",
       "  0.6364020585904121,\n",
       "  0.63638226445373725,\n",
       "  0.63636255198620506,\n",
       "  0.63634292083626098,\n",
       "  0.63632337065391831,\n",
       "  0.63630390109075219,\n",
       "  0.63628451179989087,\n",
       "  0.63626520243600959,\n",
       "  0.63624597265532268,\n",
       "  0.63622682211557713,\n",
       "  0.63620775047604461,\n",
       "  0.63618875739751535,\n",
       "  0.63616984254229014,\n",
       "  0.63615100557417448,\n",
       "  0.63613224615847042,\n",
       "  0.63611356396197005,\n",
       "  0.6360949586529494,\n",
       "  0.63607642990116009,\n",
       "  0.63605797737782388,\n",
       "  0.6360396007556246,\n",
       "  0.63602129970870291,\n",
       "  0.63600307391264788,\n",
       "  0.6359849230444915,\n",
       "  0.63596684678270154,\n",
       "  0.63594884480717495,\n",
       "  0.63593091679923142,\n",
       "  0.63591306244160639,\n",
       "  0.63589528141844487,\n",
       "  0.63587757341529472,\n",
       "  0.63585993811910069,\n",
       "  0.63584237521819709,\n",
       "  0.63582488440230178,\n",
       "  0.63580746536251032,\n",
       "  0.63579011779128869,\n",
       "  0.63577284138246759,\n",
       "  0.63575563583123573,\n",
       "  0.63573850083413386,\n",
       "  0.63572143608904863,\n",
       "  0.63570444129520609,\n",
       "  0.63568751615316532,\n",
       "  0.6356706603648129,\n",
       "  0.63565387363335635,\n",
       "  0.63563715566331846,\n",
       "  0.63562050616053023,\n",
       "  0.63560392483212613,\n",
       "  0.63558741138653718,\n",
       "  0.63557096553348569,\n",
       "  0.63555458698397849,\n",
       "  0.63553827545030162,\n",
       "  0.63552203064601431,\n",
       "  0.6355058522859427,\n",
       "  0.63548974008617509,\n",
       "  0.63547369376405494,\n",
       "  0.63545771303817555,\n",
       "  0.63544179762837449,\n",
       "  0.63542594725572787,\n",
       "  0.63541016164254416,\n",
       "  0.63539444051235894,\n",
       "  0.6353787835899295,\n",
       "  0.63536319060122848,\n",
       "  0.63534766127343922,\n",
       "  0.63533219533494945,\n",
       "  0.63531679251534567,\n",
       "  0.6353014525454086,\n",
       "  0.63528617515710661,\n",
       "  0.63527096008359107,\n",
       "  0.63525580705919038,\n",
       "  0.63524071581940489,\n",
       "  0.63522568610090113,\n",
       "  0.63521071764150738,\n",
       "  0.63519581018020699,\n",
       "  0.63518096345713437,\n",
       "  0.63516617721356883,\n",
       "  0.63515145119192962,\n",
       "  0.6351367851357711,\n",
       "  0.63512217878977684,\n",
       "  0.63510763189975472,\n",
       "  0.63509314421263219,\n",
       "  0.63507871547645056,\n",
       "  0.63506434544036028,\n",
       "  0.63505003385461556,\n",
       "  0.63503578047056952,\n",
       "  0.63502158504066952,\n",
       "  0.63500744731845093,\n",
       "  0.63499336705853404,\n",
       "  0.63497934401661693,\n",
       "  0.63496537794947261,\n",
       "  0.63495146861494278,\n",
       "  0.63493761577193297,\n",
       "  0.63492381918040885,\n",
       "  0.63491007860138982,\n",
       "  0.6348963937969454,\n",
       "  0.63488276453018955,\n",
       "  0.63486919056527691,\n",
       "  0.63485567166739698,\n",
       "  0.6348422076027701,\n",
       "  0.63482879813864268,\n",
       "  0.63481544304328208,\n",
       "  0.6348021420859723,\n",
       "  0.63478889503700964,\n",
       "  0.63477570166769715,\n",
       "  0.63476256175034118,\n",
       "  0.63474947505824619,\n",
       "  0.63473644136570995,\n",
       "  0.63472346044801964,\n",
       "  0.63471053208144679,\n",
       "  0.63469765604324335,\n",
       "  0.6346848321116364,\n",
       "  0.63467206006582499,\n",
       "  0.63465933968597465,\n",
       "  0.63464667075321268,\n",
       "  0.63463405304962561,\n",
       "  0.63462148635825233,\n",
       "  0.63460897046308207,\n",
       "  0.63459650514904875,\n",
       "  0.63458409020202655,\n",
       "  0.63457172540882689,\n",
       "  0.63455941055719256,\n",
       "  0.63454714543579505,\n",
       "  0.63453492983422888,\n",
       "  0.63452276354300852,\n",
       "  0.6345106463535638,\n",
       "  0.63449857805823573,\n",
       "  0.63448655845027224,\n",
       "  0.63447458732382422,\n",
       "  0.63446266447394173,\n",
       "  0.6344507896965691,\n",
       "  0.63443896278854184,\n",
       "  0.63442718354758187,\n",
       "  0.63441545177229386,\n",
       "  0.63440376726216097,\n",
       "  0.63439212981754156,\n",
       "  0.6343805392396642,\n",
       "  0.63436899533062441,\n",
       "  0.63435749789338058,\n",
       "  0.63434604673174966,\n",
       "  0.63433464165040443,\n",
       "  0.63432328245486813,\n",
       "  0.63431196895151165,\n",
       "  0.6343007009475492,\n",
       "  0.63428947825103488,\n",
       "  0.63427830067085889,\n",
       "  0.63426716801674266,\n",
       "  0.63425608009923695,\n",
       "  0.63424503672971655,\n",
       "  0.63423403772037712,\n",
       "  0.63422308288423179,\n",
       "  0.63421217203510705,\n",
       "  0.63420130498763871,\n",
       "  0.63419048155726943,\n",
       "  0.63417970156024395,\n",
       "  0.63416896481360618,\n",
       "  0.63415827113519474,\n",
       "  0.63414762034364047,\n",
       "  0.63413701225836194,\n",
       "  0.63412644669956286,\n",
       "  0.63411592348822732,\n",
       "  0.63410544244611722,\n",
       "  0.63409500339576819,\n",
       "  0.63408460616048667,\n",
       "  0.63407425056434596,\n",
       "  0.63406393643218284,\n",
       "  0.63405366358959447,\n",
       "  0.63404343186293455,\n",
       "  0.63403324107931025,\n",
       "  0.6340230910665785,\n",
       "  0.63401298165334252,\n",
       "  0.63400291266894937,\n",
       "  0.63399288394348507,\n",
       "  0.63398289530777296,\n",
       "  0.63397294659336889,\n",
       "  0.63396303763255923,\n",
       "  0.63395316825835668,\n",
       "  0.63394333830449701,\n",
       "  0.63393354760543663,\n",
       "  0.63392379599634807,\n",
       "  0.63391408331311849,\n",
       "  0.63390440939234449,\n",
       "  0.63389477407133055,\n",
       "  0.63388517718808501,\n",
       "  0.63387561858131714,\n",
       "  0.63386609809043404,\n",
       "  0.63385661555553718,\n",
       "  0.6338471708174197,\n",
       "  0.63383776371756329,\n",
       "  0.63382839409813485,\n",
       "  0.63381906180198344,\n",
       "  0.63380976667263744,\n",
       "  0.63380050855430137,\n",
       "  0.63379128729185286,\n",
       "  0.63378210273083946,\n",
       "  0.63377295471747597,\n",
       "  0.63376384309864153,\n",
       "  0.633754767721876,\n",
       "  0.63374572843537758,\n",
       "  0.63373672508799994,\n",
       "  0.63372775752924859,\n",
       "  0.63371882560927884,\n",
       "  0.63370992917889213,\n",
       "  0.63370106808953386,\n",
       "  0.63369224219329001,\n",
       "  0.63368345134288406,\n",
       "  0.63367469539167476,\n",
       "  0.63366597419365323,\n",
       "  0.63365728760343965,\n",
       "  0.63364863547628048,\n",
       "  0.63364001766804667,\n",
       "  0.63363143403522915,\n",
       "  0.63362288443493764,\n",
       "  0.63361436872489707,\n",
       "  0.63360588676344509,\n",
       "  0.63359743840952909,\n",
       "  0.63358902352270396,\n",
       "  0.63358064196312869,\n",
       "  0.63357229359156464,\n",
       "  0.63356397826937139,\n",
       "  0.63355569585850602,\n",
       "  0.63354744622151837,\n",
       "  0.63353922922155037,\n",
       "  0.63353104472233168,\n",
       "  0.63352289258817818,\n",
       "  0.63351477268398892,\n",
       "  0.63350668487524375,\n",
       "  0.63349862902800047,\n",
       "  0.63349060500889254,\n",
       "  0.63348261268512629,\n",
       "  0.63347465192447838,\n",
       "  0.63346672259529335,\n",
       "  0.63345882456648128,\n",
       "  0.63345095770751469,\n",
       "  0.63344312188842677,\n",
       "  0.63343531697980837,\n",
       "  0.63342754285280578,\n",
       "  0.63341979937911808,\n",
       "  0.63341208643099489,\n",
       "  0.63340440388123354,\n",
       "  0.63339675160317732,\n",
       "  0.63338912947071213,\n",
       "  0.63338153735826519,\n",
       "  0.63337397514080163,\n",
       "  0.63336644269382258,\n",
       "  0.63335893989336245,\n",
       "  0.63335146661598729,\n",
       "  0.63334402273879187,\n",
       "  0.63333660813939718,\n",
       "  0.63332922269594871,\n",
       "  0.63332186628711329,\n",
       "  0.63331453879207789,\n",
       "  0.63330724009054562,\n",
       "  0.63329997006273597,\n",
       "  0.63329272858937979,\n",
       "  0.63328551555171908,\n",
       "  0.63327833083150342,\n",
       "  0.63327117431098845,\n",
       "  0.6332640458729335,\n",
       "  0.63325694540059929,\n",
       "  0.63324987277774547,\n",
       "  0.63324282788862873,\n",
       "  0.63323581061800072,\n",
       "  0.63322882085110554,\n",
       "  0.63322185847367729,\n",
       "  0.63321492337193896,\n",
       "  0.63320801543259908,\n",
       "  0.63320113454285043,\n",
       "  0.6331942805903672,\n",
       "  0.63318745346330396,\n",
       "  0.6331806530502917,\n",
       "  0.63317387924043778,\n",
       "  0.63316713192332219,\n",
       "  0.63316041098899678,\n",
       "  0.63315371632798223,\n",
       "  0.6331470478312663,\n",
       "  0.6331404053903017,\n",
       "  0.63313378889700411,\n",
       "  0.63312719824375041,\n",
       "  0.6331206333233762,\n",
       "  0.63311409402917351,\n",
       "  0.63310758025489011,\n",
       "  0.63310109189472608,\n",
       "  0.63309462884333223,\n",
       "  0.63308819099580871,\n",
       "  0.63308177824770206,\n",
       "  0.63307539049500394,\n",
       "  0.63306902763414896,\n",
       "  0.63306268956201306,\n",
       "  0.63305637617591082,\n",
       "  0.63305008737359392,\n",
       "  0.63304382305324969,\n",
       "  0.63303758311349845,\n",
       "  0.63303136745339206,\n",
       "  0.63302517597241159,\n",
       "  0.63301900857046611,\n",
       "  0.63301286514789012,\n",
       "  0.63300674560544201,\n",
       "  0.63300064984430238,\n",
       "  0.63299457776607182,\n",
       "  0.63298852927276938,\n",
       "  0.63298250426683034,\n",
       "  0.63297650265110439,\n",
       "  0.63297052432885448,\n",
       "  0.63296456920375455,\n",
       "  0.63295863717988743,\n",
       "  0.63295272816174342,\n",
       "  0.63294684205421892,\n",
       "  0.63294097876261313,\n",
       "  0.63293513819262825,\n",
       "  0.63292932025036641,\n",
       "  0.63292352484232828,\n",
       "  0.63291775187541144,\n",
       "  0.63291200125690816,\n",
       "  0.63290627289450452,\n",
       "  0.63290056669627792,\n",
       "  0.6328948825706957,\n",
       "  0.63288922042661344,\n",
       "  0.63288358017327306,\n",
       "  0.6328779617203012,\n",
       "  0.63287236497770782,\n",
       "  0.6328667898558844,\n",
       "  0.63286123626560165,\n",
       "  0.63285570411800895,\n",
       "  0.63285019332463155,\n",
       "  0.63284470379737001,\n",
       "  0.63283923544849796,\n",
       "  0.63283378819066005,\n",
       "  0.63282836193687153,\n",
       "  0.63282295660051557,\n",
       "  0.63281757209534173,\n",
       "  0.63281220833546514,\n",
       "  0.63280686523536422,\n",
       "  0.63280154270987909,\n",
       "  0.63279624067421048,\n",
       "  0.63279095904391758,\n",
       "  0.632785697734917,\n",
       "  0.63278045666348059,\n",
       "  0.63277523574623462,\n",
       "  0.63277003490015793,\n",
       "  0.63276485404257965,\n",
       "  0.63275969309117908,\n",
       "  0.63275455196398345,\n",
       "  0.6327494305793655,\n",
       "  0.63274432885604415,\n",
       "  0.63273924671308035,\n",
       "  0.63273418406987825,\n",
       "  0.63272914084618126,\n",
       "  0.63272411696207254,\n",
       "  0.63271911233797218,\n",
       "  0.63271412689463635,\n",
       "  0.63270916055315607,\n",
       "  0.63270421323495485,\n",
       "  0.63269928486178839,\n",
       "  0.63269437535574158,\n",
       "  0.63268948463922958,\n",
       "  0.63268461263499332,\n",
       "  0.63267975926610065,\n",
       "  0.63267492445594298,\n",
       "  0.63267010812823554,\n",
       "  0.63266531020701466,\n",
       "  0.6326605306166373,\n",
       "  0.63265576928177913,\n",
       "  0.63265102612743307,\n",
       "  0.6326463010789084,\n",
       "  0.63264159406182874,\n",
       "  0.63263690500213154,\n",
       "  0.63263223382606593,\n",
       "  0.63262758046019174,\n",
       "  0.63262294483137793,\n",
       "  0.63261832686680153,\n",
       "  0.63261372649394632,\n",
       "  0.63260914364060072,\n",
       "  0.63260457823485827,\n",
       "  0.63260003020511391,\n",
       "  0.63259549948006433,\n",
       "  0.63259098598870644,\n",
       "  0.63258648966033559,\n",
       "  0.63258201042454476,\n",
       "  0.63257754821122303,\n",
       "  0.63257310295055402,\n",
       "  0.63256867457301513,\n",
       "  0.63256426300937607,\n",
       "  0.63255986819069721,\n",
       "  0.63255549004832967,\n",
       "  0.63255112851391171,\n",
       "  0.63254678351936999,\n",
       "  0.6325424549969163,\n",
       "  0.63253814287904819,\n",
       "  0.63253384709854577,\n",
       "  0.6325295675884719,\n",
       "  0.63252530428217069,\n",
       "  0.63252105711326589,\n",
       "  0.63251682601566017,\n",
       "  0.63251261092353328,\n",
       "  0.63250841177134143,\n",
       "  0.63250422849381605,\n",
       "  0.63250006102596223,\n",
       "  0.63249590930305799,\n",
       "  0.63249177326065253,\n",
       "  0.63248765283456576,\n",
       "  0.63248354796088657,\n",
       "  0.63247945857597199,\n",
       "  ...],\n",
       " array([[ 0.07001491, -0.27170433,  0.26654835]]),\n",
       " 1.0220000743865967)"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#进行测试\n",
    "n=100\n",
    "descent(orig_data,theta,n,stopType=STOP_ITER,thresh=5000,alpha=0.000001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 梯度下降图文并茂方式进行输出【4.2】"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def runExpe(data, theta, batchSize, stopType, thresh, alpha):\n",
    "    #import pdb; pdb.set_trace();\n",
    "    theta, iter, costs, grad, dur = descent(data, theta, batchSize, stopType, thresh, alpha)\n",
    "    name = \"Original\" if (data[:,1]>2).sum() > 1 else \"Scaled\"\n",
    "    name += \" data - learning rate: {} - \".format(alpha)\n",
    "    if batchSize==n: strDescType = \"Gradient\"\n",
    "    elif batchSize==1:  strDescType = \"Stochastic\"\n",
    "    else: strDescType = \"Mini-batch ({})\".format(batchSize)\n",
    "    name += strDescType + \" descent - Stop: \"\n",
    "    if stopType == STOP_ITER: strStop = \"{} iterations\".format(thresh)\n",
    "    elif stopType == STOP_COST: strStop = \"costs change < {}\".format(thresh)\n",
    "    else: strStop = \"gradient norm < {}\".format(thresh)\n",
    "    name += strStop\n",
    "    print (\"***{}\\nTheta: {} - Iter: {} - Last cost: {:03.2f} - Duration: {:03.2f}s\".format(\n",
    "        name, theta, iter, costs[-1], dur))\n",
    "    fig, ax = plt.subplots(figsize=(12,4))\n",
    "    ax.plot(np.arange(len(costs)), costs, 'r')\n",
    "    ax.set_xlabel('Iterations')\n",
    "    ax.set_ylabel('Cost')\n",
    "    ax.set_title(name.upper() + ' - Error vs. Iteration')\n",
    "    return theta"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 对比不同停止策略"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 设定迭代次数[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Original data - learning rate: 1e-06 - Gradient descent - Stop: 5000 iterations\n",
      "Theta: [[-0.00027127  0.00705232  0.00376711]] - Iter: 5000 - Last cost: 0.63 - Duration: 1.03s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-0.00027127,  0.00705232,  0.00376711]])"
      ]
     },
     "execution_count": 147,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nhdNWlBoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xccbf668>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#选择的梯度下降方法是基于所有样本的\n",
    "n=100\n",
    "runExpe(orig_data, theta, n, STOP_ITER, thresh=5000, alpha=0.000001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 根据损失值停止【3】"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "设定阈值 1E-6, 差不多需要110 000次迭代 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Original data - learning rate: 0.001 - Gradient descent - Stop: costs change < 1e-06\n",
      "Theta: [[-5.13364014  0.04771429  0.04072397]] - Iter: 109901 - Last cost: 0.38 - Duration: 22.72s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-5.13364014,  0.04771429,  0.04072397]])"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nX//6Vxw8eBAmkwl/+MMfAAA9PT144IEHcPDgQVRWVkKWZezduxdHjhxBX18fjh07hq1btwIAXn31\n1YCvUV5ejsTERBw6dAh79uxBeXk5Lly4AAA4ffo0du7ciddffx1Hjx5FdXU19u3bh7vvvhv79+/H\nxo0bUVFRMbkfChFRmGAPNRFRhDl16hSamprw7W9/GwDgdrtx8803+9ffcsstAICFCxciISEBL7/8\nMurr69HY2IiBgYGr7vfkyZPYvn07AMBoNKK4uBgffvghDAYDbr31VhgMBgBAVlYWent7cfvtt+Oh\nhx7C+fPncdddd+G+++4L1SkTEYU1BmoioggzNDSEpUuX+nua7XY7hoaG/Ov1ej0A4O2338bOnTtx\n//33Y8WKFejp6YGiKFfd72fXKYri369Op/MvFwQBiqJg/vz5OHz4MN599138/e9/x9/+9jfs3r17\nws6TiChScMgHEVEEkCQJHo8HAHDbbbfhyJEj6OrqgqIoKC0txZ49e0Zt88EHH2Dp0qX45je/ibi4\nOJw6dcofkEVR9O9v2OLFi7Fv3z4AQHd3N95++20sWrToqsf0zDPP4PXXX8c3vvEN/OxnP8O5c+cm\n6nSJiCIKAzURUQQwmUxIT09HSUkJbrzxRmzYsAFr1qzBV7/6VXi9Xqxdu3bUNitXrsThw4exbNky\nPPzwwygsLERraysAoLi4GMuXL4fT6fS3X79+PT799FMsW7YM9913H9atW4c5c+Zc9ZhKSkrw5ptv\nYvny5diwYQN27Ngx8SdORBQBBOXz/v5HRERERESfiz3URERERERBYKAmIiIiIgoCAzURERERURAY\nqImIiIiIgsBATUREREQUBAZqIiIiIqIgMFATEREREQXh/wE5a5/hE1SSNwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc447cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "runExpe(orig_data, theta, n, STOP_COST, thresh=0.000001, alpha=0.001)#每个alpha"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 根据梯度下降方式停止"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "设定阈值 0.05,差不多需要40 000次迭代"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Original data - learning rate: 0.001 - Gradient descent - Stop: gradient norm < 0.05\n",
      "Theta: [[-2.37033409  0.02721692  0.01899456]] - Iter: 40045 - Last cost: 0.49 - Duration: 8.79s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-2.37033409,  0.02721692,  0.01899456]])"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nO7BlyxacOnUKAHD8+HG8/vrreP/99/HRRx+htrYWFRUVuPvuu7Fnzx48/fTTqKysHNuiEBGNE5yh\nJiKKMkePHkV9fT0eeeQRAIDb7caMGTO092+66SYAwC233IKkpCTs3LkTZ8+exblz5+B0Okc87pEj\nR7Bp0yYAQEpKChYsWIBjx47BbDbj5ptvhtlsBgDk5OSgo6MDt99+O5566imcPHkSd911F5YuXTpa\nl0xENK4xUBMRRRmPx4N7771Xm2nu7u6Gx+PR3o+JiQEAHDhwAK+//jqWLVuGkpISXLx4EUKIEY87\n9D0hhHZco9GotUuSBCEE5syZgw8//BAHDx7EX//6V7z77rt48803r9p1EhFFCy75ICKKAoqioL+/\nHwBw2223Yf/+/bhw4QKEECgvL8eOHTuGfebw4cO499578b3vfQ8JCQk4evSoFpBlWdaON2DevHmo\nqKgAALS3t+PAgQO49dZbRzynX//613j//ffx8MMP44UXXsCJEyeu1uUSEUUVBmoioiiQmpoKi8WC\n0tJS3HDDDVi9ejUee+wx3H///VBVFT/5yU+GfWbJkiX48MMPsWjRIvzsZz9DYWEhmpqaAAALFixA\ncXEx+vr6tP6rVq3CpUuXsGjRIixduhQrV67EzJkzRzyn0tJS7Nu3D8XFxVi9ejU2b9589S+ciCgK\nSOJy//5HRERERESXxRlqIiIiIqIwMFATEREREYWBgZqIiIiIKAwM1EREREREYWCgJiIiIiIKAwM1\nEREREVEYGKiJiIiIiMLw/99kvpyyBZ8cAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xd17c898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "runExpe(orig_data, theta, n, STOP_GRAD, thresh=0.05, alpha=0.001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 对比梯度下降影响【随机梯度下降方法】\n",
    "* 随机梯度下降，我们将增加迭代次数和降低学习率进行收敛\n",
    "* 随机梯度下降，我们将数据预处，将数据进行标准化处理，收敛可能性变高\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Original data - learning rate: 0.001 - Stochastic descent - Stop: 5000 iterations\n",
      "Theta: [[-0.37933621  0.07896846  0.04585083]] - Iter: 5000 - Last cost: 2.50 - Duration: 0.32s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-0.37933621,  0.07896846,  0.04585083]])"
      ]
     },
     "execution_count": 150,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nwOm4ZA/XWOEKd3Uwd+5cjBkzBvfffz8AQCaT4aOPPsJnn33mdBy05/7770fr1q0xevRoXuG9RS6X\nw2AwsHLFxsZixowZePrpp90+u2/fPpjNZowaNYpdfYuKisKYMWOgVCqxf/9+zudiYmLQvHlz3Lp1\nCwAwcOBA/P777w7hLl68iOjoaAwYMABdunTB1KlTodVqAVT0QctK5D333IOXXnoJv/zyCy5duoSY\nmBg8++yzAIC3334bx48fR0lJCfbv34/OnTsjOjoaERER6NGjB2f/FpvMzEx2NtfCxo0b0b59e3Ts\n2NGhr/CFT/8G3LctX9qEpzRv3hxDhgzBG2+8gUuXLjn8ffr0afTq1QtdunRBjx498OeffwIAUlJS\n8N///hfdu3dnVxAtbN68GR9//DH7d1paGlq1agWTyYQFCxawcfXv358tEz6sX78ely9fxowZM7B/\n/37o9XpMnToV3bt3R9euXTFy5EgolUoAFbPMQ4cORYcOHbB//34cOnQI7777Lnr06IE2bdpg3rx5\nAIBRo0YBAN5//33k5uaiXbt27Ltp8+bN6Ny5M7p27YoPP/wQt2/fBlCx2j958mT07dsXr732Gj79\n9FOoVCova8A91UIxvnDhAho3bmyjZFh48cUXcebMGfbvVatW4a233kL79u3RokULLF++HMuWLWOX\nGa05ffo0Xn75ZYfrTZo0QZcuXZzKk5SUhOjoaMydO5fzvuXlWa9ePXTs2BGrVq3ikUt+NG3aFNev\nXwdQsWS6ZcsWdO3aFe3atUNRURHbyfiwYcMGdOnSBQ0aNMALL7yAdevWCSanBa1Wi7feesvmn7W5\nxJEjR6DVavHiiy+iW7duWLduHYxGo8PzXbp0wYsvvoju3bujcePG+Oqrr9gwERERmD17NhYvXoy/\n//7brUwJCQmYPn06xo0b5/AxYFlKtjcLAYD27ds7NTfhI6cv7cJdOe7cuZNT5tzcXPZjEgDuvvtu\n5OXl8Q6Xm5uLu+66CyEhVUNJgwYN2DjmzJnD2Yc84euvv8a6devQsmVLJCUlYfny5WjUqJGNaYwz\nzp07x6nc1q9fHw899BAuXLiAy5cv44knnnBQUB944AGbpde9e/c6lLH1S6a0tBR79+5F165d0bVr\nV5w4cQI3b95k748bNw6TJ0/Gyy+/jCFDhmDdunV4/PHHHZZc3XH58mU888wzDteff/55NG3alHc8\n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\npaWe76mNOwfdunXDpEmTwDAMunXrBqfTibNnz3q+l2tnt9st2fbBbucuKxgPGjQIO3fuBADs3bsX\nPXv2DHGNCD3o27cv9uzZAwDYuXMnBg8ejEGDBmHXrl1wu90oLCyE2+1GXFycZFoi/CguLsatt96K\n3/zmN7j22msBUDt3Rt5//30899xzAAC73Q6GYdC/f39q507EG2+8gddffx2vvfYa+vTpg/Xr12Pk\nyJHUxp2MLVu24Le//S0A4PTp06itrYXD4cDRo0fBcRx27drlaWehHBYVFQWLxSJKG0wYjuO4oJYY\nJrR5Q/7000/gOA7r1q1Dbm5uqKtF+MHx48dxzz334O2338ahQ4ewfPlyNDY2onv37li7di1MJhM2\nbtyInTt3wu12Y+nSpRg8eLBsWiK8WLt2LT755BN0797dc+3BBx/E2rVrqZ07ETU1NVi6dCmKi4vR\n1NSE22+/Hbm5ufQ+d1Ly8/OxatUqsCxLbdzJaGhowNKlS1FYWAiGYXDfffeBZVmsW7cOzc3NGD58\nOO6++25ZOWzv3r2itMGkywrGBEEQBEEQBMGny5pSEARBEARBEAQfEowJgiAIgiAIAiQYEwRBEARB\nEAQAEowJgiAIgiAIAgAJxgRBEARBEAQBgARjgiCIoNCrVy8AQGVlJebPn69bvvn5+Z7/J0+erFu+\nBEEQXRESjAmCIIJIeXk59u3bp1t+X3/9tef/rVu36pYvQRBEV4TOQCYIgggia9euxZkzZzB//nxs\n3rwZ77//Pl599VW43W7069cPK1euhNVqxYUXXoj+/fujqKgIW7ZswerVq3Hw4EEUFxejV69e+P3v\nf4/HH38cADBt2jS888476NWrFw4cOIDa2loUFBTgwIEDYBgGs2fPxpQpU/Dee+/h888/R3l5OY4d\nO4aLL74Yq1atwqlTp3DfffehpqYGLMuioKAAAwcODPGTIgiCCD6kMSYIgggiBQUFSEpKwubNm3Hw\n4EG8/fbbePPNN7F161bEx8fjpZdeAgCUlZXh9ttvx9atW7F3715YLBa89dZb2L59OyorK/Gvf/0L\nBQUFAIB33nnHq4yNGzciNjYWH330EV599VVs3LgR+/fvBwB8++232LBhAz744AP885//xIEDB7Bl\nyxaMHj0a7733HhYuXIhvvvkmuA+FIAgiTCCNMUEQRIjYs2cPjhw5gunTpwMAGhsb0bdvX8/35557\nLgDgggsuQExMDN544w38+uuvOHz4MGpqamTz3b17N9atWwcAiIuLw5gxY/D1118jKioK5513HqKi\nogAAmZmZKC8vx7Bhw3DXXXdh3759GDVqFGbOnGnUTyYIgghrSDAmCIIIEc3NzRg/frxH81tdXY3m\n5mbP9zabDQCwY8cObNiwAbNmzcLUqVNRVlYGjuNk8xV+x3GcJ1+r1eq5zjAMOI7D+eefj48//hif\nffYZ/vrXv+Ivf/kLXnnlFd1+J0EQREeBTCkIgiCCiNlsRlNTEwBg6NCh2L59O0pKSsBxHFatWoVX\nX31VdM9XX32F8ePH45prroHL5cKePXs8gq7JZPLk18aFF16ILVu2AABKS0uxY8cODBkyRLZOjz76\nKD744ANcffXVWLFiBX788Ue9fi5BEESHggRjgiCIIBIfH4+0tDTk5+ejd+/eWLBgAW666SZcddVV\ncLvdmDNnjuieadOm4eOPP8bEiROxaNEiDBo0CMePHwcAjBkzBpMnT0Z9fb0n/fz583H27FlMnDgR\nM2fOxNy5c9GvXz/ZOuXn52Pbtm2YPHkyFixYgPXr1+v/wwmCIDoADKe0H0cQBEEQBEEQXQTSGBME\nQRAEQRAESDAmCIIgCIIgCAAkGBMEQRAEQRAEABKMCYIgCIIgCAIACcYEQRAEQRAEAYAEY4IgCIIg\nCIIAQIIxQRAEQRAEQQAA/h+ffKEsOw4p4QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xddc5978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "runExpe(orig_data, theta, 1, STOP_ITER, thresh=5000, alpha=0.001) # 随机梯度下降"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 从以上情况可以看出随机提取下降无法收敛\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 对于这样的化我们可以通过增加迭代次数和降低学习率进行收敛查看"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Original data - learning rate: 2e-06 - Stochastic descent - Stop: 15000 iterations\n",
      "Theta: [[-0.00201955  0.01013259  0.00106508]] - Iter: 15000 - Last cost: 0.63 - Duration: 0.92s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-0.00201955,  0.01013259,  0.00106508]])"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtQAAAETCAYAAAAWKJFhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3XlAFOX/B/D3HiC3iJJXiqXhESii\n5YkpZh6EmoV5ZD9vs/JERTMDFREkPDMxM837yLMyv0UmGhmaiUneR6bmgbIqy7XszvP7g5jYuNld\nVuP9+gdmZmfmM5+dmf3sM8/MKoQQAkREREREVC5KawdARERERPQ4Y0FNRERERGQCFtRERERERCZg\nQU1EREREZAIW1EREREREJmBBTURERERkArW1A6homzdvxubNm6HX66FQKNCsWTNMmjQJderUAQBM\nnz4dCQkJcHNzAwBIkoSMjAwMGDAAo0aNAgAMGTIEgwcPRo8ePQAA586dw/Lly3H27FmoVCoolUq8\n9tprGDp0KBQKBa5fv47AwECcOHEC169fR9euXREeHo6goCA5rtWrV+PChQuIjIyUxx04cABjx47F\nokWL0KtXL3n8smXLoNFo8MEHHxS7rcuWLcPGjRtRs2ZNAIBer0fjxo0xfvx4NGjQwOi148aNw9Gj\nR3Hw4EHY29sDAHbv3o01a9YAAG7evIkqVarIeZk1axZat24NAFi/fj3Cw8OxdetW+Pj4lOHd+Ie/\nvz+WLFkCb29vo/HXr19Ht27d4OnpWWCe7du3w9bWFgCQmpqKzp0745VXXsHs2bOLnT8jIwO1atVC\nREQE6tWrh2XLlmHTpk3Yu3cv3N3d5de9/PLLmDVrFtq0aYPp06fjmWeewYgRIzB9+nQkJSVh586d\ncHBwkF/fsmVLfPnll3jyyScBAHFxcVi7di3u3r0LSZLg5uaGsWPH4oUXXiiwLaWJM09h+8XDhw8x\nZMgQeb7bt2/jqaeeAgC0b98egwcPLlUeC5OVlYXZs2fj1KlTEEKgefPmCA0NhZ2dXYHjJc+rr76K\nN998s8CyUlNTMW3aNPz1119QKpWYM2cOfH19AeQeR+Hh4UhLS5OneXl5FRlXYXJycrBo0SIcPnwY\nCoUCQggEBARgzJgxuHTpEoKDgwEADx48QFpamvxevfLKKxg6dCgyMjKwbNkyHDhwQM6Jv78/xo4d\nCzs7O3k9u3btwpYtW5CVlYWcnBy0atUKU6dOhYuLCxITEzF37lx89dVXRrHl34fyREZGYsOGDYiL\ni0OtWrXk8VqtFpGRkTh58iQUCgWUSiUGDx6MoKAg/PTTT4iKigIA3L17FwaDQT7Gx4wZg+rVqxut\nPzs7GytWrMDBgwchhIAkSQgMDMSoUaOgUCiMYkxMTMSoUaPkfUeSJFSrVg1vvfUW2rdvD6DgeSWP\nn58fpkyZUux7kLe+S5cuYfHixfjjjz+gUCjg4uKCiRMnyucUf39/2NjYGOUcAEJDQ+Hr64vGjRtj\n7NixmDhxojxt//792LhxI9avX48BAwYgMzMTOTk5uHLlirzfN2rUCDExMUXuP4XZuXMnNmzYAL1e\nD4PBAB8fH0yfPh3Ozs6lWk9JnzlDhgzBjRs34OzsDIVCgZycHHh5eSEsLEw+FxdHCIHp06fD09PT\naN9q06aN0T41YsQI9O7du9hj8ODBg4iJiYFOp0Pjxo0REREBJycnGAwGREZG4vDhwzAYDBg+fDgG\nDhxYIJb8+/748eNx9epVAMDZs2fh6ekJpVIJFxcXrF+/vsT3OP90hUIBnU4HpVKJadOmoVOnTvLr\nizr3l7T+f3+Onz59GkuWLMHly5fh4OAABwcHjBgxAi+++KK8H4SFheGLL74wOo+OGTMG3bt3R79+\n/Yo9bsuqpPw8Dho3bowjR47Azc0N77//PgYMGFDmc3pR0tLS8M4772DdunUAgD59+mD9+vVwcXEx\ny/LLRVQikZGRYujQoeKvv/4SQghhMBjErl27RMeOHcXNmzeFEEKEhISITz/91Gi+GzduiBYtWoiL\nFy8KIYR44403xDfffCOEEOLMmTOibdu24rvvvpNff+/ePfH666+Lzz77TAghxLVr14SPj4/8f5Mm\nTUSrVq3EpUuX5Hk+/fRTERISYrTeESNGiODgYBEUFGQ0funSpWL27Nklbm9hr9u1a5fo1KmTSEtL\nk8fdunVLtGnTRowePVps2rSp0GUVlpc8vXr1EsHBwWLixIklxlSULl26iN9++63A+Py5K87KlSvF\nxIkTha+vr9BoNMXOL0mSmDNnjpg0aZIQIjdPXl5eYtiwYUKSJPl1AQEB4ueffxZCGG9/SEiI8PLy\nEu+9957Rcn18fMS1a9eEEEJs2bJF9OzZU5w7d06efubMGdGhQwdx8uTJUm3nv+PMU9R+kefnn38W\nAQEBJS6/tBYuXCimTp0qDAaD0Ov1YtKkSWLx4sVCiOL3i8KMHz9erFixQgghxOnTp0XHjh1FRkaG\nyMjIEB06dBAHDx4UQgjx3Xffie7du5c51lWrVolx48aJnJwcIYQQDx8+FK+88orYsmWL0et27Ngh\nRo8ebTQuJydH9O/fX0RERIiMjAwhhBAZGRli7ty5YtCgQfIyV6xYIQYOHChSUlKEEELodDoRFhYm\nBg4cKIQoPP9CFMxVVlaWaNOmjZg8ebKIjo42em1YWJiYN2+evD/eunVLvPDCC+Lw4cNGryvsGM+/\nfkmSxPDhw8XcuXNFVlaWEEKI1NRUERQUJBYtWlQgxsJiP3PmjGjfvr1ISkoqcp35lfQeXLp0SXTo\n0EEcOnRInuenn34SrVq1EufPnxdCFH0+yOPp6SmaN28ujh49Ko/75ptvxBtvvGH0OlP2eyGEOHny\npPD395fPKXq9XsyaNUtMnjy5VOspzWdO/s8TIXLfs3HjxonIyMgS47t48aIYMmSIaNGihdG+denS\nJfHSSy8VOk9Rx+C9e/dE27ZtxZUrV4QQQixYsECEhoYKIYTYsGGDGDlypMjJyRH3798X3bt3L/Q8\nVtS+7+npKe7du2c0rqT3uLDp33zzjejQoYPRuKLO/SWtP3/eT548Kfz8/MQPP/wgT7948aIICAgQ\nmzdvFkLknjO8vLzEyy+/LB9LQggxevRosWPHDiFE6Y/b0igpP4+D/Hk39/aYemxbQqXp8nHr1i1s\n2bIFixcvRu3atQEASqUSffv2Rffu3bFy5cpi5xVCwMnJqcC0xYsXY+TIkfK3WABwc3PDnDlzUKNG\njUKXZ2dnh2HDhmHKlCnQ6XSFvubatWs4evQoZsyYgatXryIpKaksm1ukvn37omHDhvjyyy/lcdu2\nbUO7du3wyiuvYN26dRBl+K2fxMREPHjwAFOnTsX333+PmzdvmiXOspAkCVu3bsUrr7yC1q1bY9u2\nbcW+Pjs7G3fu3EHVqlXlcb1798adO3fw2WeflWqdb775JuLj4/G///2vwDSdToeFCxciKirKqCWj\nSZMmmD17NiRJKtU6CovTUvsFkPsN/9SpUwXGP/fccxg7diyUSiVUKhWaNm2Kv/76q8zL1+v1OHjw\nIPr37w8AaNq0KRo0aIDDhw8jISEB9erVk1vvu3btisWLF5d5HSkpKcjJyZGPK2dnZyxYsAAtW7Ys\ncd79+/dDkiTMmDFDbhm0t7fHzJkzodVq8d133yEjIwMrV65ERESEfHzb2Nhg2rRpGDBgQJHHc2G+\n/vpr1K9fH0OHDsW2bduQmZlptB3Z2dnIyckBANSsWRPLli2Dh4dHqZcPAMeOHcPly5cxY8YMVKlS\nBQBQrVo1LFiwAM8991ypltGkSRMMGTIEa9euLdXrS3oPVq1ahVdffRV+fn7yPO3atUNMTEyB1rji\nTJo0CVOnTsWDBw9KPU9ZpaSkQAiBrKwsAIBKpcKECRNK1eJY3s8chUKBNm3a4PLlywCAJUuWYMmS\nJYW+duPGjQgKCpJbWfOcOHECSqUSgwYNQmBgID766CMYDIZij8Eff/wR3t7e8tXLgQMH4ssvv4QQ\nAnFxcejXrx/UajWqVq2KgIAA7N27t+QEmpEQAtevXzc6H5b13F+UJUuW4K233kLnzp3lcQ0bNsSC\nBQuwcOFCeV9u164datSoIV8h+jdzHbcluX79Ol544QUMHz4c3bt3x4kTJ4yG79y5g7i4OPTt2xe9\ne/fGwIED8dtvvwHIvcI0YsQIBAYGYsqUKUbLXbhwIebOnSsPx8fHIygoCHq9HqGhoQgMDES/fv0w\nfvx4pKenlzreRYsW4c6dO5gyZQpOnjyJtLQ0TJ8+Hf369UNgYCAiIiKg1+sBAF5eXpgwYQK6d++O\nU6dO4YsvvkBQUBD69u2LLl26YNOmTQCAGTNmICsrC3369IHBYEDjxo2RmpoKAFi+fDl69eqFwMBA\njB8/HikpKQByrwbFxMRg8ODB8Pf3x8yZM0v9eVwalabLx8mTJ/H0008bHYx52rdvb/ThvXbtWuzd\nuxdarRZarRatWrXCypUrC1ziBIBffvkFkyZNKjDe09Oz0MvrecaOHYsjR45g0aJFCAkJKTB98+bN\n6Ny5M6pXr45evXph7dq15SowCtO4cWOcP38eQG6Rs23bNsyZMwcdOnTABx98gEOHDhXaLaEwmzZt\nQmBgIGrWrIm2bdtiw4YNmDp1qlnizJN30OTn6+uL0NBQAMDhw4eRlZWF9u3bIz09HfPnz8fw4cOh\nVquN5pckCffu3UPVqlXx0ksvYfTo0fLyqlSpgpiYGAwaNAht27bFs88+W2xMbm5uiIyMRHBwMJo3\nby5/YAK5l7MBFOi+AuQWiiVtZ3FxmrJflJTHPXv2FDpfx44d5f9v3LiBzz//3Oikm3e85LdgwQI0\nbtzYaJxGo5G7vuSpWbMmbt26hezsbLi7u+O9997D2bNn4eLiUq79aNiwYXj77bfRtm1btGjRAr6+\nvujevTuaNWtW4rwnTpyQuxzkp1Ao0K5dOxw/fhz16tWDnZ1dgS5T9vb26N27tzz8559/Fsj1zZs3\n8cwzz8jDmzZtQt++feHt7Q13d3fs2rULgwYNAgC8++67mDBhAtq2bYuWLVvC19cXvXr1Mur6UxrJ\nyclo3rw5VCqV0fgGDRoU2IbiNGnSxOhL+L59+3D8+HGj10yZMgV+fn4lvgfJyckFPsgBFDjnTJky\nxajAtrW1xfbt2+Xh3r17Izk5GbNmzcLSpUtLvS1l0alTJ+zbtw/+/v5o3LgxWrZsiU6dOpXq/FiW\nz5z8Hjx4gG+++Qb+/v4AgAkTJhS5jrxufwkJCUbjDQYD2rdvj+DgYOj1eowePRpOTk4ICAgo8hjM\nysoy6iJSq1YtaLVapKen4+bNm0bnuFq1auHcuXMl5qAkJb3HU6ZMQZUqVXD//n0Aueei2NhYeXpJ\n5/7S+vXXXzF9+vQC45s1awaFQoGLFy8CyD0XREVFoU+fPvDz80OXLl2MXm+u4zZPcfm5desWYmJi\n0Lp1a1y/ft1o+NKlSwgNDcWWLVtQr149HDlyBG+//Tb2798PIPc8/tVXXxXIU1BQEIKCghASEgJb\nW1vs2rUL/fv3R1JSEo4ePYp9+/ZBoVAgOjoa586dK3XXk0mTJuHLL7/Ehx9+CG9vb8yYMQPPPvss\nIiMjYTAYMH36dKxZswajRo1CTk4OunTpgiVLliA9PR3h4eH45JNPUK1aNSQlJWHYsGEYNGgQ5s+f\nj8DAwAKfWzt27MDhw4fxxRdfwMHBAcuWLcP06dOxevVqALnn5vXr1yMjIwM9e/bE0aNH0bZt23K9\nP/9WaQpqAPI3oH/T6XRGfQmHDh2KESNGICMjA5MmTYKtrS3atGlT6LxCCKN5IyIikJiYCEmSkJmZ\nibi4uELnUyqViI6ORt++fY0Klrx4du7ciYiICAC5/TsHDhxY4KRWXgqFQj5Iv//+e0iSBD8/P6jV\navTq1Qvr1q0r1QdGSkoKvv/+e+zYsQNAbut3WFgY3nnnHaO+xaays7MrstgDcovMwMBAqNVqdO3a\nFaGhodi/fz9efvnlAvMfPnwYU6dORZcuXeDo6Gi0nMaNG2PixIkIDg7Gzp07S4yrY8eOeOWVVzB1\n6lS5HxeAQlv4Bw0ahPT0dGRlZaF58+aIjo4udjsLi9PU/aKkPJYkOTkZ7777Lt544w2jD5K846Uk\nkiQV6LMrhIBKpYJer0d8fDzWrVuHFi1aIC4uDqNHj8YPP/xQbP/uf6tVqxZ27tyJixcvIjExEYmJ\niXj99dcxffp0DB48uMT5iztH5N0fUZoWjfr16xfIdf4P7N9//x1nz55FQEAAgNxjZ926dRg4cCAU\nCgWaNGmC/fv34/fff8exY8eQkJCA2NhYLFmyRC60SkOpVJbpilNR8p8zAKBXr15F3sNR0nugUChK\nlcO8D9/ihIWFoU+fPti+fTucnZ3LtlGlYGNjg5iYGEybNg2JiYk4duwYQkJC0K5du1J9kS3tZ86C\nBQuwYsUK+b3q0qVLofcglFZeC3SeYcOGYf369ejZs2eRx2Bhxyfwzz6Uf5oQAkql6Re4S3qP86Zf\nu3YNw4YNQ9OmTY2K05LO/WVR2vfqiSeewLx58/Dee+8VaEgw13Gbp7j8qNVqo3uW8g///PPPaNu2\nrZyrdu3awc3NDcnJyQAAHx+fQr901KtXD40bN8aBAwfQrl07/Pzzz5g3bx4MBgNUKhWCgoLQsWNH\ndO/eHc2bNy/z9uQ5ePCg3PoMQL4ClCevYcPR0RGxsbGIj4/HH3/8gbNnzyIjI6PYZR86dAj9+vWT\na5A333wTsbGx8lWGLl26QKlUwsnJCR4eHma9wlVpunz4+Pjg6tWrctN/fomJiYVeEnZwcMCCBQtw\n7NixIi93tmzZEkePHpWH33vvPezZswcrVqzAvXv3io2pdu3amD17NkJCQqDRaOTx+/btw8OHDzF3\n7lz4+/tj4sSJUCgUWL9+fSm3tninTp2SWw83bdqErKwsvPTSS/D390dcXBx+/PFHXLhwocTl5F1e\nGzt2LPz9/bFgwQJotVrs2rWrwGtnzpyJPn36oE+fPti8ebNZtgPI/aYdHx+Pr7/+Gv7+/ujRowf0\nen2R71deC9qECROg1WoLTB8yZAg8PDwwb968Uq1/8uTJSE9PN2o1adiwIYQQ8lUAIDfPe/bswZgx\nY/Dw4cMSl1tYnJbeL4rz9ddfY/jw4QgODsZbb71VqnlOnTolv+d9+vRB9erVIYSQW5sA4M6dO6hZ\nsyaeeOIJNGzYEC1atAAAvPjiizAYDLh27ZrRMjdv3iwvb+bMmQXWuWDBAly5cgWNGjXC4MGDsXTp\nUoSHh5dqn/P19cUvv/xSoNiTJAnHjh1Dy5Yt0ahRI+j1evzxxx9Gr8nOzsaoUaNw+/btUuVm48aN\nUKvVePXVV+Hv74/169fjjz/+wKFDh6DX6/HBBx/gwYMH8PLywrBhw/Dpp59i7Nix2Lp1a6mWn6dF\nixY4deoUDAaD0fjffvutTFcATp06VewVt/xKeg98fHwK7ar00UcflbkbgZOTE2JiYhAVFYUrV66U\naV6g4D76b1988QW+//571KxZE71798bcuXOxa9cu7N+/X768XJSyfOZMmzYNe/bswd69e7F3715M\nmjSpzK2s+e3evRtnz56Vh4UQUKvVxR6DtWvXxp07d+Txt2/fRtWqVeHg4FBg2p07d4xasy2tXr16\nWLBgAaKiouSuC2U99xfH19cXiYmJBcb/9ttvsLGxwdNPP200Pm99ISEh8pegsh63o0aNkve777//\nvswx29raGu0j+YeLarzI+9JQXINX//79sXv3bnz11Vd48cUX4ejoCBcXF+zZswchISFQqVSYOHEi\nNm7cWOaY80iShCVLlmDPnj3Ys2cPtm/fbvQFPS++W7duoW/fvrhx4wZatWpldBNyccvOv+2SJBl9\nWcrfMJB307S5VJqCumbNmhgyZAgmT55s9KG3Y8cOfPvtt/ITPP6tatWqCAkJwdKlSwv9sAwODsbK\nlSvlO+iB3G9b3333Xam+wffo0QOdOnXC559/Lo/bsmUL3nrrLfzwww84cOAADhw4gLCwMGzfvr3E\nb2cl2b59O65fv46ePXviypUrOHbsGHbu3Cmv58cff8Rzzz1n1OJaGIPBgO3bt2P27NnyvAcPHsSY\nMWMK7Yc9b948+eAp7O7w8tq6dStatWqFw4cPy3Hs3LkTp0+fxq+//lroPMOHD4ejo2ORl4nnz5+P\n+Ph4+Q7x4tja2iImJgafffaZ/C27SpUqmDJlCqZMmSJfKgSAe/fuISEhodQtO/+O05L7RXEOHDiA\n8PBwrF69GoGBgaWez9vbW37P9+zZA7Vajc6dO8tfxM6ePYtLly6hTZs26NSpE65fvy63oBw7dgwK\nhUJ+CkeegQMHyssr7EtPamoqlixZIvdHFkLgwoULpery0b17d9jb2yMiIkJ+L7OysjB37lw4Ojqi\nW7dusLW1xahRozBz5kzcvXsXQG4LVkREBDIzMwvtFvZvDx8+xL59+xAbGyu/j4cOHULv3r3x+eef\nQ61W48qVK/j444/lvph6vR6XLl0q1Xbk17JlSzz99NOYP38+srOzAeQ+GSQ8PLxAbovy22+/YfPm\nzfi///u/Ur2+pPdgxIgR2L59O3788Ud5nkOHDmH9+vVo0qRJWTYPQG7hOmzYMHz88cdlnvff++i/\nKZVKfPjhh7h165Y87sKFC6hTp06hXTnyK+9njjlcuHABS5cuhcFgQFZWFjZu3IhevXoVewx27NgR\nJ0+elL8sbtmyRe6i1rVrV+zYsQN6vR4PHz7E119/bXTfUEXw9fWVr4Lm9Z0u67m/KMHBwfj0008R\nHx8vj7t06RJmzJiBCRMmyPcf5Dd9+nTcuXMHR44cAYAyH7erVq2S97viugKWR7t27fDjjz/KDRJH\njhzBzZs35QaL4nTr1g2///47tm3bJl/p+OGHHzB06FC0bNkS48aNQ9++feVzdWnlXYkEcq/url27\nFkII6HQ6jB07Fhs2bCgwT3JyMtzc3PD222+jY8eO+OGHHwDk1h9qtRoGg6FAreHn54cdO3bIn4nr\n16/Hc889V6YrneVVqbp8BAcHY/v27Rg7dix0Oh10Oh28vb2xZcsW1K1bt8j5evfuje3btyMqKgoL\nFy40mta0aVN8/vnnWL58OWJiYiBJErKzs9GmTZtS3yDx/vvvy/0Rz549izNnzhT4cOjbty9WrFgh\nt/5u27bNqCW4cePG2LJlS4Fl5/V1zLvM+tRTT2HdunWoUqUKNm/ejBdffLHADRPvvPMOxowZg0mT\nJhV4HFqeH374QX78Vn5Dhw7FunXrEB8fb3SDR2m88cYbRsXmlClT8MILLxTa9xcA5s6diy+++ELu\nApGnQYMGCAgIwNq1azFt2rQC89nY2GDWrFkYOXIkXnvttQLT8/pHjxw5slRxP/300wgJCcH7778v\nj+vfvz9q1qyJefPmITU1FZmZmbC1tcWLL75Y6sIkf5z9+vUrcb8oqUtDUXmMjIxE06ZN0adPH4SH\nhxe4xBgVFQUhhNH25e97XVgf6hYtWmDOnDkF1hUaGor3338fL7/8MhQKBRYsWABnZ2c4Oztj+fLl\nmD17tpyrZcuWFfpBVpzQ0FAsWrQIvXv3hq2tLfR6Pdq2bVviIyaB3A/Ezz77DB9//DH69esHpVIJ\ng8EAf39/fPbZZ7CxsQEAvPXWW7C3t5e7uWRnZ+P5558vdUG3a9cuNGzYsEC/vbFjxyIgIADnz5/H\nkiVLEB0dLRf5kiShW7dueOedd8qUDwBYunQpFi1ahH79+smX9vv27VtkN538/b/zLo1++OGHRsVu\nYX2oa9eujdjY2BLfAw8PD8TGxmLx4sWIioqS+/SuWLHCqBX83/1HgdxzRGE3BObdk2Ju/fr1Q2Zm\nJkaNGiVf+m/QoAFWr15doF96Ycr7mZNf3g2JxfWl/rd3330Xc+bMQWBgIPR6PXr06CHnrahjEMht\nTBg/fjxycnJQv359+ea7gQMHyvtFTk4OXn/9dTz//POljqcoZXmPgdwrgj179sS2bdtKPPeX5dFy\nzZo1w+rVq7FkyRJERERApVLBxcUF48aNK3DDZ568+27yx2rO4xYoOj/t2rUrdr5GjRohNDQU7777\nLgwGA+zs7BAbG1uqblG2trbo1asXfvrpJ7lbR6dOnXDo0CG8/PLLcHBwQNWqVeX7aGbOnAkvL68S\nG8q6deuGqVOnIiwsDDNnzsS8efMQGBiInJwctG/fvtDP2w4dOuCLL75Ajx49oFAo8Pzzz8PNzQ1X\nr16Fh4cHmjdvjoCAAKPW8tdeew03b95EUFAQJEmCh4cHPvzwwxK32xwUwpzt3URERERElUyl6fJB\nRERERGQJLKiJiIiIiEzAgpqIiIiIyAQsqImIiIiITPDYP+UjJSXNKuutVs0BGo3lHlVWGTCHpmMO\nzYN5NB1zaDrm0HTMoemYw6K5uxf9pBS2UJeTWl3yI5OoeMyh6ZhD82AeTcccmo45NB1zaDrmsHxY\nUBMRERERmYAFNRERERGRCVhQExERERGZgAU1EREREZEJWFATEREREZmABTURERERkQlYUBMRERER\nmYAFdTlknDmNv77aZ+0wiIiIiOgRwIK6HFL378OVTz+DMBisHQoRERERWRkL6vIQAhACQpKsHQkR\nERERWRkL6vJQ/p02FtRERERElR4L6nJQ5BXUggU1ERERUWXHgro8/i6o2eWDiIiIiFhQl4NCkdfl\nQ1g3ECIiIiKyOhbU5aFUAGALNREREREBakstWJIkhIWF4dy5c7C1tUV4eDg8PDzk6fHx8Vi+fDkA\noFmzZggNDcWDBw8wdepUaLVauLq6Ijw8HNWrV7dUiOWm4E2JRERERPQ3i7VQx8XFQafTYevWrQgO\nDkZkZKQ8TavVIjo6GrGxsdi2bRvq1q0LjUaDlStXolWrVti8eTOGDBmChQsXWio807APNRERERH9\nzWIF9fHjx+Hn5wcA8PHxQXJysjztxIkT8PT0RFRUFAYNGoQaNWrAzc0NFy9eRKdOnQAAvr6+OH78\nuKXCMw2f8kFEREREf7NYlw+tVgsnJyd5WKVSQa/XQ61WQ6PRIDExEbt374aDgwMGDx4MHx8fNG3a\nFAcOHECzZs1w4MABZGVllbjZZDUKAAAgAElEQVSeatUcoFarLLUZhbpvXwVpANxc7WHn7lyh6/6v\ncWf+TMYcmgfzaDrm0HTMoemYQ9Mxh2VnsYLayckJ6enp8rAkSVCrc1fn6uoKb29vuLu7AwBat26N\nM2fOYPTo0Zg3bx6GDh0KPz8/1KpVq8T1aDQZltmAYmTpcn9y/N7dNNiqHCt8/f8V7u7OSElJs3YY\njzXm0DyYR9Mxh6ZjDk3HHJqOOSxacV80LNblw9fXF4cOHQIAJCUlwdPTU57m5eWF8+fPIzU1FXq9\nHidPnkSjRo3wyy+/oE+fPli7di2efPJJ+Pr6Wio8k/CmRCIiIiLKY7EW6m7duiEhIQEDBgyAEAIR\nERFYs2YN6tevj65duyI4OBgjR44EAPTo0QOenp6oUqUKQkJCAABPPPEEIiIiLBWeaeSbEvkcaiIi\nIqLKzmIFtVKpxJw5c4zGNWzYUP4/ICAAAQEBRtM9PDywZcsWS4VkNoq/n0PNFmoiIiIi4g+7lIcy\n9yZIIRmsHAgRERERWRsL6nJIS/wZAJB1+bKVIyEiIiIia2NBXQ6GtIcAgAeH460cCRERERFZGwtq\nE/CXEomIiIiIBbUpWFATERERVXosqE1g88QT1g6BiIiIiKyMBXU51Oj3GgBAoWD6iIiIiCo7VoTl\noHLK/elJ7YnjVo6EiIiIiKyNBXV5qJg2IiIiIsrFyrAcFEqmjYiIiIhysTIsDxbURERERPQ3Vobl\norB2AERERET0iGBBTURERERkAhbU5ZBx+ndrh0BEREREjwgW1OWgu33L2iEQERER0SOCBTURERER\nkQlYUJeDQsGbEomIiIgoFwvqcnDt0tXaIRARERHRI4IFdTmonJ2tHQIRERERPSJYUJeDEMLaIRAR\nERHRI4IFNRERERGRCVhQExERERGZgAU1EREREZEJWFCXg12DBtYOgYiIiIgeEWpLLViSJISFheHc\nuXOwtbVFeHg4PDw85Onx8fFYvnw5AKBZs2YIDQ2FVqvFpEmTkJmZCRsbG0RHR8Pd3d1SIZabysER\nTo0aQnvxkrVDISIiIiIrs1gLdVxcHHQ6HbZu3Yrg4GBERkbK07RaLaKjoxEbG4tt27ahbt260Gg0\n2LlzJzw9PbFx40b06tULq1evtlR4JssrpnPu3bVyJERERERkTRZroT5+/Dj8/PwAAD4+PkhOTpan\nnThxAp6enoiKisK1a9cQFBQENzc3eHp64vLlywByi261uuTwqlVzgFqtssxGFOP833/ttKlwa/JU\nha//v8Ldnc/0NhVzaB7Mo+mYQ9Mxh6ZjDk3HHJadxQpqrVYLJycneVilUkGv10OtVkOj0SAxMRG7\nd++Gg4MDBg8eDB8fH1SrVg0JCQno1asXHjx4gI0bN5a4Ho0mw1KbUCoPHmTAkJJm1RgeV+7uzkhh\n7kzCHJoH82g65tB0zKHpmEPTMYdFK+6LhsUKaicnJ6Snp8vDkiTJLc6urq7w9vaW+0e3bt0aZ86c\nwb59+zBy5EgMGDAAZ8+exbhx4/Dll19aKkTzkPgjL0RERESVmcX6UPv6+uLQoUMAgKSkJHh6esrT\nvLy8cP78eaSmpkKv1+PkyZNo1KgRXFxc4Pz3z3pXr17dqCB/ZPFXE4mIiIgqNYu1UHfr1g0JCQkY\nMGAAhBCIiIjAmjVrUL9+fXTt2hXBwcEYOXIkAKBHjx7w9PTEhAkT8P7772PTpk3Q6/WYO3eupcIz\nGyFJ1g6BiIiIiKzIYgW1UqnEnDlzjMY1bNhQ/j8gIAABAQFG02vWrIlVq1ZZKiTLYAs1ERERUaXG\nH3YxkSrfjZdEREREVPmwoC6nuq++AgBQlOLRfkRERET038WCupwUqtxnX7MPNREREVHlxoK6nPIK\narCgJiIiIqrUWFCXk0KZmzpN3LdWjoSIiIiIrIkFdTnlFdTpSSesHAkRERERWRMLaiIiIiIiE7Cg\nLi+FwtoREBEREdEjgAU1EREREZEJWFATEREREZmABTURERERkQlYUJcX+1ATEREREVhQExERERGZ\nhAU1EREREZEJWFATEREREZmABTURERERkQlYUBMRERERmYAFNRERERGRCVhQl5OCj80jIiIiIrCg\nLjeFSmXtEIiIiIjoEcCCupzUzk7WDoGIiIiIHgEsqMuphl9Ha4dARERERI8AFtTlpFSr5f+FwWDF\nSIiIiIjImtQlv6R8JElCWFgYzp07B1tbW4SHh8PDw0OeHh8fj+XLlwMAmjVrhtDQUKxatQqHDx8G\n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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdeb5128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "runExpe(orig_data, theta, 1, STOP_ITER, thresh=15000, alpha=0.000002) # 随机梯度下降 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 速度快，但稳定性差，需要很小的学习率【随机梯度下降不可取】"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Mini-batch descent【强烈推荐】"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Original data - learning rate: 0.001 - Mini-batch (16) descent - Stop: 15000 iterations\n",
      "Theta: [[-1.03356542  0.00961338  0.00313966]] - Iter: 15000 - Last cost: 0.66 - Duration: 1.27s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-1.03356542,  0.00961338,  0.00313966]])"
      ]
     },
     "execution_count": 152,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n33Xbs9YxFEKIgwcPirFjx3qXMYbqscXZj7y8PAwZMgQA0L9/f+zfv9/gGkWf22+/HY8++qj3b7PZ\njAMHDuD6668HANx00034/vvvkZeXhxtvvBEmkwndunWDJEmorq72uW5HNHv2bIwePRoXXHABADCG\nIdqyZQt69+6NiRMnYsKECbj55psZwxD9+Mc/hiRJkGUZVqsV8fHxjGEIevTogfnz53v/Vhs7f+u2\nZ61jOHfuXFx11VUAAEmSkJSUhH379mHAgAFITExEeno6evTogcOHD7c4XzfF0N+67VnrGNbU1OCl\nl17Cs88+613GGKrHxNkPq9WKtLQ0799msxkej8fAGkWf1NRUpKWlwWq1YvLkyXjssccghIDJZPK+\nbrFY2sSyabmvdTualStXIisry3vAAsAYhqimpgb79+/HK6+8gueeew5PPvkkYxiiTp06obS0FMOG\nDcO0adOQnZ3NGIbgtttuQ3x8vPdvtbHzt2571jqGTQ0Ju3btwqJFi/DAAw/AarUiPT3du05qaiqs\nVmuL5c1j6Gvd9qx5DCVJwpQpU/Dss88iNTXVuw5jqF588FU6prS0NNhsNu/fsiy3+FFTo1OnTmHi\nxIkYM2YMhg8fjhdffNH7ms1mQ0ZGRptY2mw2pKenIy4urs26Hc2KFStgMpmwdetWHDp0CE8//XSL\nliXGMLguXbqgV69eSExMRK9evZCUlITTp097X2cMg3v//fdx44034oknnsCpU6dw//33w+12e19n\nDEPjKx6hxM7fuh3NunXr8MYbb+Dtt99GVlaW37g0LU9OTmYMzzpw4ACKioqQk5MDp9OJo0eP4u9/\n/zsGDx7MGKrEFmc/Bg4ciM2bNwMA9uzZg969extco+hTWVmJcePG4amnnsJdd90FALj66quxfft2\nAMDmzZtx3XXXYeDAgdiyZQtkWUZZWRlkWUZWVpbPdTuaxYsXY9GiRfjggw9w1VVXYfbs2bjpppsY\nwxAMGjQI3377LYQQOHPmDBwOB2644QbGMAQZGRneE2Lnzp3h8Xj4W1ZBbez8rduRrF692nts7N69\nOwDgmmuuQV5eHpxOJywWCwoLC9G7d28MHDgQmzZtAtAYw0GDBvldt6O45ppr8Omnn+KDDz7A3Llz\ncfnll2PKlCmMoQZMQghhdCWikSzLyMnJwZEjRyCEwKxZs3DZZZcZXa2oMnPmTHz22Wfo1auXd9mU\nKVMwc+ZMuN1u9OrVCzNnzoTZbMb8+fOxefNmyLKMZ555Btdddx2OHz+OadOmtVm3o8rOzkZOTg7i\n4uJ8xoUx9G/OnDnYvn07hBB4/PHHcemllzKGIbDZbHj22WdRUVEBt9uNsWPHol+/foxhCEpKSvDn\nP/8Zy5Yt8xuPUGLna932rimGS5YswQ033ICLL77Ye/fiJz/5CSZPnoxly5Zh6dKlEEJg/PjxuO22\n21BZWYmnn34aNpsNmZmZePnll9GpUyef67Z3zfdDf8sYQ3WYOBMRERERKcCuGkRERERECjBxJiIi\nIiJSgIkzEREREZECTJyJiIiIiBRg4kxEREREpAATZyKiKNCnTx8AgMViwcSJEzXbbnZ2tvf/I0aM\n0Gy7REQdERNnIqIoUldXh0OHDmm2vR07dnj/v3r1as22S0TUEXEOaSKiKDJz5kyUl5dj4sSJeO21\n17Bq1SosXLgQsiyjb9++mDFjBpKSkjB48GD069cPFRUVyM3NxXPPPYeCggJUVlaiT58+mDt3Ll56\n6SUAwN13343ly5ejT58+yM/Ph8PhwNSpU5Gfnw+TyYSHHnoIv/3tb7Fy5Up8++23qKurQ3FxMX72\ns58hJycHp0+fxpNPPgm73Y64uDhMnToV/fv3NzhSRESRxxZnIqIoMnXqVFxwwQV47bXXUFBQgGXL\nluGjjz7C6tWrcd555+G9994DANTU1ODhhx/G6tWrsWfPHiQkJGDp0qXYsGEDLBYLNm3ahKlTpwIA\nli9f3qKM+fPnIzMzE5988gkWLlyI+fPn4/DhwwCA3bt3Y968eVizZg2+/vpr5OfnIzc3FzfffDNW\nrlyJyZMnIy8vL7JBISKKEmxxJiKKUtu3b0dRURHuueceAIDb7cbVV1/tff3aa68F0DgdcZcuXbB4\n8WIcO3YMJ06cgN1u97vdbdu2YdasWQCArKws3HrrrdixYwfS0tIwYMAApKWlAQC6d++Ouro63HDD\nDfjTn/6EQ4cOYejQobjvvvv0+shERFGNiTMRUZSSJAnDhg3zthzbbDZIkuR9PTk5GQCwceNGzJs3\nD2PHjsXIkSNRU1MDIYTf7bZ+TQjh3W5SUpJ3uclkghACgwYNwqeffopvvvkG69atw8cff4wFCxZo\n9jmJiGIFu2oQEUWR+Ph4eDweAMBPf/pTbNiwAVVVVRBCICcnBwsXLmzznq1bt2LYsGG48847kZGR\nge3bt3sTYbPZ7N1ek8GDByM3NxcAUF1djY0bN+L666/3W6c5c+ZgzZo1+N3vfofp06fj4MGDWn1c\nIqKYwsSZiCiKnHfeeejWrRuys7Nx5ZVXYtKkSbj//vvxm9/8BrIs45FHHmnznrvvvhuffvophg8f\njkcffRQDBw5ESUkJAODWW2/FiBEj4HQ6vetPnDgRtbW1GD58OO677z5MmDABffv29Vun7OxsrF+/\nHiNGjMCkSZMwe/Zs7T84EVEMMIlA9/OIiIiIiAgAW5yJiIiIiBRh4kxEREREpAATZyIiIiIiBZg4\nExEREREpwMSZiIiIiEgBJs5ERERERAowcSYiIiIiUuD/Aw1AJGlMQWhxAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf52f7f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "runExpe(orig_data, theta, 16, STOP_ITER, thresh=15000, alpha=0.001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "浮动仍然比较大，我们来尝试下对数据进行标准化\n",
    "将数据按其属性(按列进行)减去其均值，然后除以其方差。最后得到的结果是，对每个属性/每列来说所有数据都聚集在0附近，方差值为1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据标准化处理【以下是两种方法】"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "from sklearn import preprocessing as pp\n",
    "\n",
    "scaled_data = orig_data.copy()\n",
    "scaled_data[:, 1:3] = pp.scale(scaled_data[:, 1:3])\n",
    "scaled_data[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.        , -0.22029098,  0.35619356,  1.        ],\n",
       "       [ 1.        , -1.34839922,  0.53082781,  0.        ],\n",
       "       [ 1.        ,  0.34617678,  1.62283321,  1.        ],\n",
       "       [ 1.        ,  0.47234786, -1.33310268,  0.        ],\n",
       "       [ 1.        , -0.23437234,  1.63818413,  1.        ]])"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import  StandardScaler\n",
    "scaled_dt = orig_data.copy()\n",
    "scaled_dt[:, 1:3] = StandardScaler().fit_transform(scaled_dt[:, 1:3])\n",
    "scaled_dt[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Scaled data - learning rate: 0.001 - Mini-batch (16) descent - Stop: 5000 iterations\n",
      "Theta: [[ 0.30986589  0.861475    0.774593  ]] - Iter: 5000 - Last cost: 0.38 - Duration: 0.47s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[ 0.30986589,  0.861475  ,  0.774593  ]])"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nHBNTpkzRHV/FOWbyk9Oo9OprjUaT75ejnC8Nr673so8//hg7d+5EREQE3n//fVSvXh1isRi//fYb\n5syZAxsbGwQFBeX7P7a4tFotvv32W93/zd9//z3XdTcnPpVKBX9/f1y+fBkNGzbExIkTIZVKC+0K\nmd918OX3/vKX/5wbR0uLURXUdnZ2WLlyZa5iKiEhAWlpaXByckKlSpXg6+uLb7/9VldUp6WlISAg\nADY2NjAzM8PWrVvxxRdf4MiRIwgLC0NYWBgCAgLw+++/5+qbXRpyCvcBAwbA1NT0tZcPDg5Gs2bN\nEBERoYs1JCQEV65cwfnz5wvd1okTJ/Ds2TOEhobq1o2IiIC9vT2Cg4NzLVupUiXdibFr1648I02U\nlEajwe+//44ZM2boYjh69ChGjBhRYP9imUyG6dOnY/PmzXn6AQPZfUSnTJmCxYsXFyuGJk2a4LPP\nPsOKFSt007p06QK5XI7Zs2fn6n918eJFxMfH52ndzc+rcd6+fRtnzpxBSEiI7r0eP34cLVq0wIYN\nG4oVa0lUrlwZjo6O2LdvH4Dsb/disTjPT5SFLefh4YGwsDA8e/YMgiAgODj4te7kfp3jp2fPnvjj\njz9w5swZdOjQodj7yC+PL/vqq690+//qq6/yXeb27dt48OABGjRogD179sDGxibXuRUaGgqVSlWs\nnxC//PJLzJ49WzfKTs7IG3Fxcahdu3ax31eOWrVqFfv+gK5du2L37t3QarXIysrCkSNHchUM9+/f\nL3YMv//+O+7fv4/u3bsXuay1tTVOnjyZ69xNT0/HvXv3dK2Opf25DB06FBUrVixRf99+/frpjonZ\ns2fnmf/8+XMsXbpU11omCAL+/vvvXC2oBenatSvMzc1z9W3OyMjArFmzYGFhgc6dO792vC979OgR\n5s2bh4yMDGg0Gvz666+60ag8PT111/BHjx4hIiIC7u7u+OCDD5CUlKT737Bjxw40adIEVlZW8PT0\nxO7du6FSqXS/0pbmaA3FUb16dXzxxReYPXs2VCrVG5+DLxs5ciT279+fq6Hm0aNH+N///od+/frl\ne03K79h6nWNi9uzZuuOrX79+rxVvUZo0aYJbt27pumX8/fffOHPmTLF+rckZRevHH3/U9bWPi4uD\nj48P3n//fYwYMQKffvqprr9ycUkkEl1R2759e2zatAmZmZnQarWYNm1avv+T7969i7S0NHz99dfw\n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\nvlcmcgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdf1e940>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "runExpe(scaled_data, theta, 16, STOP_ITER, thresh=5000, alpha=0.001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "它好多了！原始数据，只能达到达到0.61，而我们得到了0.38个在这里！\n",
    "所以对数据做预处理是非常重要的"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "####  mini-batch下gradient low\n",
    "* 优化收敛情况，降低梯度下降率\n",
    "* 增加学习率"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 我们采用随机梯度下降方式进行梯度下降测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Scaled data - learning rate: 0.001 - Stochastic descent - Stop: gradient norm < 0.02\n",
      "Theta: [[ 0.57770653  1.55793918  1.39763866]] - Iter: 14824 - Last cost: 0.28 - Duration: 1.21s\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[ 0.57770653,  1.55793918,  1.39763866]])"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10a172b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "runExpe(scaled_data, theta,1, STOP_GRAD, thresh=0.02, alpha=0.001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其实小批量梯度下降模式，梯度下降比较快但是需要迭代次数比较多"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Scaled data - learning rate: 0.001 - Stochastic descent - Stop: gradient norm < 0.0004\n",
      "Theta: [[ 1.148247    2.79201777  2.56675159]] - Iter: 72594 - Last cost: 0.22 - Duration: 5.83s\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xdb2f940>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "theta = runExpe(scaled_data, theta, 1, STOP_GRAD, thresh=0.002/5, alpha=0.001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "随机梯度下降更快，但是我们需要迭代的次数也需要更多，所以还是用batch的比较合适！！！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 小批量梯度下降方式测试【一般我们选用样本量为16,32,64,128】"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "***Scaled data - learning rate: 1e-05 - Mini-batch (16) descent - Stop: gradient norm < 0.0004\n",
      "Theta: [[ 1.44424673  3.41897423  3.16278674]] - Iter: 69684 - Last cost: 0.21 - Duration: 7.14s\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nqHVYWFjQvXt3duzYoQ778ccf6dixY7HzPej2L05iYiKurq75rpY97HHyySef8Morr6hnwCG3TZo9\nezY5OTkPFd+SJUt45pln1Pdr165l4MCBdOvWLd90W7du5fnnn8fZ2RmtVsusWbPo06cPAA4ODjRv\n3pwNGzaUaJ1t2rShc+fOrF+/vkTTx8XFkZmZSXZ2NgAVK1ZkyZIl1KhRA3g0ebGxsWHUqFG8+eab\nZGVllWiehxEXF0dOTg4ZGRkAWFtb89577xW40lOYU6dOERUVRXBwsHrW3srKihdffJHatWsXeRZP\np9Ph7e3N77//DsDUqVMLzX10dDTh4eF88MEHuLi4qMN79erFmDFjiv1eiY2Nxc7OLt8Vu/Xr19Ox\nY0d69Ohx3/28SpUqvPbaa3zxxRfFTleUGjVq0K5dO959992Hmv9exbXpe/bswWQy8c4776hXT21t\nbZk6dSoGg4F9+/YVukxFUbh27Vq+NtzZ2Rlvb2/1Ki/kHmu9evUqNr4///yT//znP3Tp0oUdO3ZQ\ns2bNAtOEhITQv39/LC0tcXJyIigoSG1jSzLdzZs3+f333wkKCgKgffv2pKWlce7cuWLb77zPkJKS\nQocOHYr9HA/r2LFj9O7dm8GDB9OrVy/CwsLyvc/KymLDhg307NmT3r178/zzz3P58mUg98rhyy+/\nTFBQUL4rtgCTJk3iyy+/VN+vW7eON954g9TUVF577TX69OlDv379mDZtGiaTqcTxvvPOOwCMGDGC\n69evc/PmTV599VX69+9Pr1698l0Rb9++Pc8//zxdu3bl1q1bLF++nIEDB9KrVy86derEvn37yMnJ\nYdq0aVy9epXRo0dz7do1mjdvDuReQZszZw49evSgV69e6n4JuVeXlixZwtChQwkICOA///nPfWMv\ns911nJycmDx5Mi+88ALly5fHy8sLX19fgoKC0Ol0xMTEULduXfR6fb753Nzc6Nq1q/o+7wu9XLly\n9OjRg1WrVpUosQALFy5k2bJl+YatWrUqXwN8N3d3d/R6Pb///jtNmza97/LvnT4sLIyMjAzatGlD\namoq77//Ps8//3yh3X/ulZiYyO7du9m0aRMuLi58+OGHXLp0ibp165bos5bU7t27iYyMzDfszTff\nxN/fH8g9KHv16kXFihVp1aoVa9asYfLkyQXmT09PJykpiUaNGjFr1qx8+WrZsiVJSUm8+eabrF27\n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\nbsWKFdUde9u2bQWe8PKwcnJy+O6775g1a5Yaw4EDB3jppZeK7K+u0+mYMWMG69atK7SRrFatGlOn\nTuXDDz8sUQyenp6MGjWKpUuXqsO6dOmCnZ0d8+bNy/cL/PTp08TGxuY761OUe+O8fPkyJ06cYMuW\nLepn/fnnn2nZsiWrV68uUaz/tHnz5qnbfMiQIQQGBhIaGkp8fDyKorBhwwb1jHlkZKTaNzcxMZFN\nmzbleypVnrv3oyZNmhS57j59+rBnzx52795doqtSee63/YcMGaKuv6guEPHx8URHR9OkSZMHOk4K\nM3bsWP7v//6P6OhodVjeWfqHKY6qV69OfHx8iYqhrl278sMPP5CRkYGiKISEhOTL+bVr1/I9Dak4\nBw8e5MCBA/nuBSiKpaUlly9fZunSpeoXldFo5LffflPPHD/qvHTr1o127do91H1FHTt2VPeJzz//\nvMD4jIwM9YlteS5evJjvLHhRPD098fHx4e2331b7iufk5LB8+XL++OMPBg8e/MDx3q1Zs2b4+vry\n1ltvcefOHXX4pUuX+OWXX4psq6pVq8bLL7/MvHnzSEtLY8eOHTg7O+f7LgkJCSEtLY09e/YUuoy8\nbVySHyP3M3r0aMqXL19o//MHVVib3rVrV2xtbZk/f756b0VGRgZz5szB3t6ezp07F7osLy8v9ery\nvUVo3759+f777zlx4oTa9bQ4lStXZsKECezdu5euXbty6dKlAtN07NiRzZs3YzQaSU5OZteuXYVe\nlSxqOnd3d6pXr87u3buB3LPjWq2WevXqFdl+9+jRg9DQUPUYCAwMZOTIkbz++usF1lvS9vth+Pv7\ns3v3bnU/3rx5M87OziU6+96vXz9CQ0PZu3cv/fv3B3JPqr3zzju0bduWyZMn07Zt20JrhuJYWFhg\nNBrR6/V4enqqT8BLTk5myJAh7N+/v8A8J06cUE9u+Pj4sH//fvU+IwsLi0J/NPv7+7N+/Xqys7Mx\nmUysXbs231OnHlSZ7a5Tq1YtPv30Uz766CNu3LiBtbU1Dg4OzJ8/X/0ymzFjBkuXLmXw4MFYWFiQ\nlZVFp06dGD9+POfPn+eXX37J1zhA7sG8bNky9ezyxo0b851prl+/vtoXr7A++Z07d2bcuHHA/y7J\nWlhYkJOTQ5cuXdS+x4UpavqsrCw2bdqkdivKU7NmTYKCgli1ahVeXl5FLnf9+vUMGjQo3yVNS0tL\n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\nJMQo5IuIiIiIhBiFfBERERGREKOQLyIiIiISYhTyRURERERCjDXYBcg5fr+fuXPncvDgQcLCwpg3\nbx7du3cPdlmt3p49e3jmmWdYsmQJJ0+e5Le//S0mk4levXrx2GOPYTabeeGFF9i4cSNWq5VHH32U\n/v37X9S+bU1De5sULgAACS9JREFUQwOPPvoon3/+OfX19fzqV7/i6quvVm9bSFNTE3PmzOH48eNY\nLBb++Mc/YhiG+tuCSktLufnmm/nLX/6C1WpVb1vQTTfdhNPpBKBLly78/Oc/5w9/+AMWi4WhQ4cy\nffr0836eFRQUfO9926JFixaxfv16GhoamDhxIhkZGTp3W8CqVatYvXo1AHV1dRQXF7NkyZK2cd4a\n0ip89NFHxuzZsw3DMIzdu3cb999/f5Arav1efvllY+zYscatt95qGIZh3HfffUZOTo5hGIbx+9//\n3vj444+NwsJCY/LkyYbf7zc+//xz4+abb77ofduaFStWGPPmzTMMwzDKysqMrKws9bYFffLJJ8Zv\nf/tbwzAMIycnx7j//vvV3xZUX19vTJ061bjuuuuMI0eOqLctqLa21hg/fvw37vvJT35inDx50vD7\n/caUKVOMwsLC836eXcy+bU1OTo5x3333GU1NTYbH4zGee+45nbsBMHfuXOPNN99sM+etpuu0Evn5\n+QwbNgyAlJQUCgsLg1xR69etWzeef/755ttFRUVkZGQAMHz4cLZt20Z+fj5Dhw7FZDLRuXNnmpqa\nKCsru6h925of//jH/PrXv26+bbFY1NsWNGrUKJ588kkAzpw5Q/v27dXfFrRgwQImTJhAhw4dAL0v\ntKQDBw5QU1PDXXfdxR133MHOnTupr6+nW7dumEwmhg4dyvbt2//p55nH4/ne+7ZFW7ZsISEhgWnT\npnH//fczYsQInbstbN++fRw5coQxY8a0mfNWIb+V8Hg8OByO5tsWi4XGxsYgVtT6XX/99Vit/5hx\nZhgGJpMJALvdTnV19bf6+vf7L2bftsZut+NwOPB4PDz44IP85je/UW9bmNVqZfbs2Tz55JNcf/31\n6m8LWbVqFW63u/nDF/S+0JIiIiK4++67efXVV3n88cd55JFHiIyMbN5+vp5ZLJbz9lGffeeUl5dT\nWFjIf/7nf/L4448za9YsnbstbNGiRUybNu2izsXL/bzVnPxWwuFw4PV6m2/7/f5vBFj5bmbzP76z\ner1eXC7Xt/rq9XpxOp0XtW9b9MUXXzBt2jQmTZrEuHHjePrpp5u3qbctY8GCBcyaNYvbbruNurq6\n5vvV33/dypUrMZlMbN++neLiYmbPnv2NkUv19oeJj4+ne/fumEwm4uPjcTqdVFRUNG//e89qa2u/\n9Xn2z/p4vn3b4mdfu3bt6NGjB2FhYfTo0YPw8HC+/PLL5u06d3+Yqqoqjh07xqBBg/B4PN/7XLzc\nz1uN5LcSqampZGdnA1BQUEBCQkKQK7r89OnThx07dgCQnZ1Neno6qampbNmyBb/fz5kzZ/D7/bjd\n7ovat605e/Ysd911Fw899BA/+9nPAPW2Jb399tssWrQIgMjISEwmE8nJyepvC1i6dCl//etfWbJk\nCb1792bBggUMHz5cvW0hK1as4KmnngLgq6++oqamhqioKE6dOoVhGGzZsqW5Z//788zhcGCz2b7X\nvm1RWloamzdvxjCM5t4OHjxY524L2blzJ0OGDAG4qHPxcj9vTYZhGMEuQv6xus6hQ4cwDIP58+fT\ns2fPYJfV6p0+fZqZM2eybNkyjh8/zu9//3saGhro0aMH8+bNw2Kx8Pzzz5OdnY3f7+eRRx4hPT39\novZta+bNm8cHH3xAjx49mu/73e9+x7x589TbFuDz+XjkkUc4e/YsjY2N3HPPPfTs2VPnbgubPHky\nc+fOxWw2q7ctpL6+nkceeYQzZ85gMpmYNWsWZrOZ+fPn09TUxNChQ5kxY8Z5P88KCgq+975t0cKF\nC9mxYweGYTBjxgy6dOmic7eFvPLKK1itVn75y18CXNS5eDmftwr5IiIiIiIhRtN1RERERERCjEK+\niIiIiEiIUcgXEREREQkxCvkiIiIiIiFGIV9EREREJMQo5IuItEGJiYkAVFdXM23atBY77uTJk5v/\nP378+BY7roiIXByFfBGRNqyyspLi4uIWO15ubm7z/995550WO66IiFyc1ncNXhERuWTmzZvH119/\nzbRp0/jzn//M22+/zeLFi/H7/fTt25fHHnuM8PBwBg0aRHJyMiUlJaxYsYLHH3+cw4cPc/bsWRIT\nE/nTn/7EM888A8Ctt97K8uXLSUxM5ODBg9TU1DBnzhwOHjyIyWTi7rvv5qabbmLVqlVs3ryZyspK\nPvvsM6699lrmzp3Ll19+yaxZs/D5fJjNZubMmUNKSkqQOyUicnnRSL6ISBs2Z84cOnTowJ///GcO\nHz7MsmXLePPNN3nnnXeIjY3l1VdfBaC8vJx77rmHd955h4KCAmw2G2+99RaffPIJ1dXVbNq0iTlz\n5gCwfPnybzzH888/T0xMDO+99x6LFy/m+eef58CBAwDs3r2b5557jjVr1rBhwwYOHjzIihUrGDFi\nBKtWreLBBx8kPz//0jZFRCQEaCRfREQA2LFjBydPnuS2224DoKGhgT59+jRvv+aaawAYOHAg7dq1\nY+nSpRw7dowTJ07g8/nOe9ycnBzmz58PgNvtZuTIkeTm5uJwOBgwYAAOhwOArl27UllZyeDBg3ng\ngQcoLi4mKyuL22+/PVAvWUQkZCnki4gIAE1NTdxwww3NI/Jer5empqbm7REREQCsW7eO5557jjvu\nuIObb76Z8vJyDMM473H/9zbDMJqPGx4e3ny/yWTCMAzS0tJYu3YtGzdu5P3332f16tW89tprLfY6\nRUTaAk3XERFpw6xWK42NjQBkZmbyySefUFpaimEYzJ07l8WLF3/rMdu3b+eGG27glltuweVysWPH\njubQbrFYmo/3d4MGDWLFihUAlJWVsW7dOjIyMs5b08KFC1mzZg0//elP+fd//3f279/fUi9XRKTN\nUMgXEWnDYmNj6dy5M5MnTyYpKYnp06dz5513MmbMGPx+P/fee++3HnPrrbeydu1axo0bx69//WtS\nU1M5ffo0ACNHjmT8+PHU1dU17z9t2jQqKioYN24ct99+O/fffz99+/Y9b02TJ0/mo48+Yvz48Uyf\nPp0FCxa0/AsXEQlxJuNCf2MVEREREZHLjkbyRURERERCjEK+iIiIiEiIUcgXEREREQkxCvkiIiIi\nIiFGIV9EREREJMQo5IuIiIiIhBiFfBERERGREPP/Ad9fkkrH789lAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf5ff5c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "theta = runExpe(scaled_data, theta, 16, STOP_GRAD, thresh=0.002/5, alpha=0.00001)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 精度计算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#设定阈值【在标准化基础上进行阀值的计算】\n",
    "def predict(X, theta):\n",
    "    return [1 if x >= 0.5 else 0 for x in model(X, theta)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "accuracy=89.0%\n"
     ]
    }
   ],
   "source": [
    "scaled_X = scaled_data[:, :3]\n",
    "y = scaled_data[:, 3]\n",
    "predictions = predict(scaled_X, theta)\n",
    "correct = [1 if ((a == 1 and b == 1) or (a == 0 and b == 0)) else 0 for (a, b) in zip(predictions, y)]\n",
    "accuracy=np.mean(correct)\n",
    "print(\"accuracy={}%\".format(accuracy*100))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
